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

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

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

PyTorch教程-16.3。情感分析:使用卷積神經(jīng)網(wǎng)絡(luò)

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

在第 7 節(jié)中,我們研究了使用二維 CNN 處理二維圖像數(shù)據(jù)的機(jī)制,這些機(jī)制應(yīng)用于相鄰像素等局部特征。盡管最初是為計(jì)算機(jī)視覺設(shè)計(jì)的,但 CNN 也廣泛用于自然語言處理。簡單地說,只需將任何文本序列視為一維圖像即可。通過這種方式,一維 CNN 可以處理局部特征,例如n- 文本中的克。

在本節(jié)中,我們將使用textCNN模型來演示如何設(shè)計(jì)用于表示單個(gè)文本的 CNN 架構(gòu) ( Kim, 2014 )。與圖 16.2.1使用帶有 GloVe 預(yù)訓(xùn)練的 RNN 架構(gòu)進(jìn)行情感分析相比,圖 16.3.1的唯一區(qū)別在于架構(gòu)的選擇。

poYBAGR9PKeAQJkEAAKGTT5l5tQ032.svg

圖 16.3.1本節(jié)將預(yù)訓(xùn)練的 GloVe 提供給基于 CNN 的架構(gòu)以進(jìn)行情感分析。

import torch
from torch import nn
from d2l import torch as d2l

batch_size = 64
train_iter, test_iter, vocab = d2l.load_data_imdb(batch_size)

from mxnet import gluon, init, np, npx
from mxnet.gluon import nn
from d2l import mxnet as d2l

npx.set_np()

batch_size = 64
train_iter, test_iter, vocab = d2l.load_data_imdb(batch_size)

16.3.1。一維卷積

在介紹模型之前,讓我們看看一維卷積是如何工作的。請記住,這只是基于互相關(guān)運(yùn)算的二維卷積的特例。

poYBAGR9PKmAM7I9AACdHttTIPM876.svg

圖 16.3.2一維互相關(guān)運(yùn)算。陰影部分是第一個(gè)輸出元素以及用于輸出計(jì)算的輸入和核張量元素: 0×1+1×2=2.

如圖 16.3.2所示,在一維情況下,卷積窗口在輸入張量上從左向右滑動(dòng)。在滑動(dòng)過程中,輸入子張量(例如,0和1在 圖 16.3.2中)包含在某個(gè)位置的卷積窗口和內(nèi)核張量(例如,1和2在 圖 16.3.2中)按元素相乘。這些乘法的總和給出單個(gè)標(biāo)量值(例如, 0×1+1×2=2在圖 16.3.2中)在輸出張量的相應(yīng)位置。

我們在以下函數(shù)中實(shí)現(xiàn)一維互相關(guān) corr1d。給定一個(gè)輸入張量X和一個(gè)內(nèi)核張量 K,它返回輸出張量Y。

def corr1d(X, K):
  w = K.shape[0]
  Y = torch.zeros((X.shape[0] - w + 1))
  for i in range(Y.shape[0]):
    Y[i] = (X[i: i + w] * K).sum()
  return Y

def corr1d(X, K):
  w = K.shape[0]
  Y = np.zeros((X.shape[0] - w + 1))
  for i in range(Y.shape[0]):
    Y[i] = (X[i: i + w] * K).sum()
  return Y

我們可以從 圖 16.3.2構(gòu)造輸入張量X和核張量來驗(yàn)證上述一維互相關(guān)實(shí)現(xiàn)的輸出。K

X, K = torch.tensor([0, 1, 2, 3, 4, 5, 6]), torch.tensor([1, 2])
corr1d(X, K)

tensor([ 2., 5., 8., 11., 14., 17.])

X, K = np.array([0, 1, 2, 3, 4, 5, 6]), np.array([1, 2])
corr1d(X, K)

array([ 2., 5., 8., 11., 14., 17.])

對于任何具有多個(gè)通道的一維輸入,卷積核需要具有相同數(shù)量的輸入通道。然后對于每個(gè)通道,對輸入的一維張量和卷積核的一維張量進(jìn)行互相關(guān)運(yùn)算,將所有通道的結(jié)果相加得到一維輸出張量。圖 16.3.3顯示了具有 3 個(gè)輸入通道的一維互相關(guān)運(yùn)算。

pYYBAGR9PK6ADR-WAAEf3eRCIIg775.svg

圖 16.3.3具有 3 個(gè)輸入通道的一維互相關(guān)操作。陰影部分是第一個(gè)輸出元素以及用于輸出計(jì)算的輸入和核張量元素: 0×1+1×2+1×3+2×4+2×(?1)+3×(?3)=2.

我們可以對多個(gè)輸入通道進(jìn)行一維互相關(guān)運(yùn)算,并驗(yàn)證 圖 16.3.3中的結(jié)果。

def corr1d_multi_in(X, K):
  # First, iterate through the 0th dimension (channel dimension) of `X` and
  # `K`. Then, add them together
  return sum(corr1d(x, k) for x, k in zip(X, K))

X = torch.tensor([[0, 1, 2, 3, 4, 5, 6],
       [1, 2, 3, 4, 5, 6, 7],
       [2, 3, 4, 5, 6, 7, 8]])
K = torch.tensor([[1, 2], [3, 4], [-1, -3]])
corr1d_multi_in(X, K)

tensor([ 2., 8., 14., 20., 26., 32.])

def corr1d_multi_in(X, K):
  # First, iterate through the 0th dimension (channel dimension) of `X` and
  # `K`. Then, add them together
  return sum(corr1d(x, k) for x, k in zip(X, K))

X = np.array([[0, 1, 2, 3, 4, 5, 6],
       [1, 2, 3, 4, 5, 6, 7],
       [2, 3, 4, 5, 6, 7, 8]])
K = np.array([[1, 2], [3, 4], [-1, -3]])
corr1d_multi_in(X, K)

array([ 2., 8., 14., 20., 26., 32.])

請注意,多輸入通道一維互相關(guān)等同于單輸入通道二維互相關(guān)。為了說明,圖 16.3.3中的多輸入通道一維互相關(guān)的等效形式是圖 16.3.4中的單輸入通道二維互相關(guān) ,其中卷積核必須與輸入張量相同。

pYYBAGR9PLKASTSGAAEeO2Qhstk969.svg

圖 16.3.4單輸入通道的二維互相關(guān)運(yùn)算。陰影部分是第一個(gè)輸出元素以及用于輸出計(jì)算的輸入和核張量元素: 2×(?1)+3×(?3)+1×3+2×4+0×1+1×2=2.

圖 16.3.2和 圖 16.3.3中的輸出都只有一個(gè)通道。與第 7.4.2 節(jié)中描述的具有多個(gè)輸出通道的二維卷積相同 ,我們也可以為一維卷積指定多個(gè)輸出通道。

16.3.2。最大超時(shí)池化

同樣,我們可以使用池化從序列表示中提取最高值作為跨時(shí)間步長的最重要特征。textCNN 中使用的最大 隨時(shí)間池化與一維全局最大池化類似(Collobert等人,2011 年)。對于每個(gè)通道在不同時(shí)間步存儲(chǔ)值的多通道輸入,每個(gè)通道的輸出是該通道的最大值。請注意,max-over-time 池允許在不同的通道上使用不同數(shù)量的時(shí)間步長。

16.3.3。textCNN 模型

使用一維卷積和最大時(shí)間池化,textCNN 模型將單獨(dú)的預(yù)訓(xùn)練標(biāo)記表示作為輸入,然后為下游應(yīng)用獲取和轉(zhuǎn)換序列表示。

對于單個(gè)文本序列n代表的代幣 d維向量,輸入張量的寬度、高度和通道數(shù)是n,1, 和d, 分別。textCNN 模型將輸入轉(zhuǎn)換為輸出,如下所示:

定義多個(gè)一維卷積核,分別對輸入進(jìn)行卷積運(yùn)算。具有不同寬度的卷積核可以捕獲不同數(shù)量的相鄰標(biāo)記之間的局部特征。

對所有輸出通道執(zhí)行 max-over-time 池化,然后將所有標(biāo)量池化輸出連接為一個(gè)向量。

使用全連接層將串聯(lián)向量轉(zhuǎn)換為輸出類別。Dropout 可用于減少過度擬合。

poYBAGR9PLWANEE-AAdvMcqBIwY383.svg

圖 16.3.5 textCNN 的模型架構(gòu)。

圖 16.3.5用一個(gè)具體的例子說明了 textCNN 的模型架構(gòu)。輸入是一個(gè)包含 11 個(gè)標(biāo)記的句子,其中每個(gè)標(biāo)記由一個(gè) 6 維向量表示。所以我們有一個(gè)寬度為 11 的 6 通道輸入。定義兩個(gè)寬度為 2 和 4 的一維卷積核,分別具有 4 和 5 個(gè)輸出通道。它們產(chǎn)生 4 個(gè)寬度為11?2+1=10和 5 個(gè)寬度輸出通道11?4+1=8. 盡管這 9 個(gè)通道的寬度不同,但 max-over-time 池化給出了一個(gè)串聯(lián)的 9 維向量,最終將其轉(zhuǎn)換為用于二進(jìn)制情感預(yù)測的 2 維輸出向量。

16.3.3.1。定義模型

我們在下面的類中實(shí)現(xiàn)了 textCNN 模型。與16.2節(jié)中的雙向RNN模型相比,除了用卷積層代替循環(huán)層外,我們還使用了兩個(gè)嵌入層:一個(gè)具有可訓(xùn)練的權(quán)重,另一個(gè)具有固定的權(quán)重。

class TextCNN(nn.Module):
  def __init__(self, vocab_size, embed_size, kernel_sizes, num_channels,
         **kwargs):
    super(TextCNN, self).__init__(**kwargs)
    self.embedding = nn.Embedding(vocab_size, embed_size)
    # The embedding layer not to be trained
    self.constant_embedding = nn.Embedding(vocab_size, embed_size)
    self.dropout = nn.Dropout(0.5)
    self.decoder = nn.Linear(sum(num_channels), 2)
    # The max-over-time pooling layer has no parameters, so this instance
    # can be shared
    self.pool = nn.AdaptiveAvgPool1d(1)
    self.relu = nn.ReLU()
    # Create multiple one-dimensional convolutional layers
    self.convs = nn.ModuleList()
    for c, k in zip(num_channels, kernel_sizes):
      self.convs.append(nn.Conv1d(2 * embed_size, c, k))

  def forward(self, inputs):
    # Concatenate two embedding layer outputs with shape (batch size, no.
    # of tokens, token vector dimension) along vectors
    embeddings = torch.cat((
      self.embedding(inputs), self.constant_embedding(inputs)), dim=2)
    # Per the input format of one-dimensional convolutional layers,
    # rearrange the tensor so that the second dimension stores channels
    embeddings = embeddings.permute(0, 2, 1)
    # For each one-dimensional convolutional layer, after max-over-time
    # pooling, a tensor of shape (batch size, no. of channels, 1) is
    # obtained. Remove the last dimension and concatenate along channels
    encoding = torch.cat([
      torch.squeeze(self.relu(self.pool(conv(embeddings))), dim=-1)
      for conv in self.convs], dim=1)
    outputs = self.decoder(self.dropout(encoding))
    return outputs

class TextCNN(nn.Block):
  def __init__(self, vocab_size, embed_size, kernel_sizes, num_channels,
         **kwargs):
    super(TextCNN, self).__init__(**kwargs)
    self.embedding = nn.Embedding(vocab_size, embed_size)
    # The embedding layer not to be trained
    self.constant_embedding = nn.Embedding(vocab_size, embed_size)
    self.dropout = nn.Dropout(0.5)
    self.decoder = nn.Dense(2)
    # The max-over-time pooling layer has no parameters, so this instance
    # can be shared
    self.pool = nn.GlobalMaxPool1D()
    # Create multiple one-dimensional convolutional layers
    self.convs = nn.Sequential()
    for c, k in zip(num_channels, kernel_sizes):
      self.convs.add(nn.Conv1D(c, k, activation='relu'))

  def forward(self, inputs):
    # Concatenate two embedding layer outputs with shape (batch size, no.
    # of tokens, token vector dimension) along vectors
    embeddings = np.concatenate((
      self.embedding(inputs), self.constant_embedding(inputs)), axis=2)
    # Per the input format of one-dimensional convolutional layers,
    # rearrange the tensor so that the second dimension stores channels
    embeddings = embeddings.transpose(0, 2, 1)
    # For each one-dimensional convolutional layer, after max-over-time
    # pooling, a tensor of shape (batch size, no. of channels, 1) is
    # obtained. Remove the last dimension and concatenate along channels
    encoding = np.concatenate([
      np.squeeze(self.pool(conv(embeddings)), axis=-1)
      for conv in self.convs], axis=1)
    outputs = self.decoder(self.dropout(encoding))
    return outputs

讓我們創(chuàng)建一個(gè) textCNN 實(shí)例。它有 3 個(gè)卷積層,內(nèi)核寬度分別為 3、4 和 5,都有 100 個(gè)輸出通道。

embed_size, kernel_sizes, nums_channels = 100, [3, 4, 5], [100, 100, 100]
devices = d2l.try_all_gpus()
net = TextCNN(len(vocab), embed_size, kernel_sizes, nums_channels)

def init_weights(module):
  if type(module) in (nn.Linear, nn.Conv1d):
    nn.init.xavier_uniform_(module.weight)

net.apply(init_weights);

embed_size, kernel_sizes, nums_channels = 100, [3, 4, 5], [100, 100, 100]
devices = d2l.try_all_gpus()
net = TextCNN(len(vocab), embed_size, kernel_sizes, nums_channels)
net.initialize(init.Xavier(), ctx=devices)

16.3.3.2。加載預(yù)訓(xùn)練詞向量

與第 16.2 節(jié)相同,我們加載預(yù)訓(xùn)練的 100 維 GloVe 嵌入作為初始化的標(biāo)記表示。這些令牌表示(嵌入權(quán)重)將在 中進(jìn)行訓(xùn)練embedding和固定constant_embedding。

glove_embedding = d2l.TokenEmbedding('glove.6b.100d')
embeds = glove_embedding[vocab.idx_to_token]
net.embedding.weight.data.copy_(embeds)
net.constant_embedding.weight.data.copy_(embeds)
net.constant_embedding.weight.requires_grad = False

glove_embedding = d2l.TokenEmbedding('glove.6b.100d')
embeds = glove_embedding[vocab.idx_to_token]
net.embedding.weight.set_data(embeds)
net.constant_embedding.weight.set_data(embeds)
net.constant_embedding.collect_params().setattr('grad_req', 'null')

16.3.3.3。訓(xùn)練和評(píng)估模型

現(xiàn)在我們可以訓(xùn)練用于情感分析的 textCNN 模型。

lr, num_epochs = 0.001, 5
trainer = torch.optim.Adam(net.parameters(), lr=lr)
loss = nn.CrossEntropyLoss(reduction="none")
d2l.train_ch13(net, train_iter, test_iter, loss, trainer, num_epochs, devices)

loss 0.067, train acc 0.978, test acc 0.869
2827.9 examples/sec on [device(type='cuda', index=0), device(type='cuda', index=1)]

pYYBAGR9PLiAYItYAAEA4llAaik404.svg

lr, num_epochs = 0.001, 5
trainer = gluon.Trainer(net.collect_params(), 'adam', {'learning_rate': lr})
loss = gluon.loss.SoftmaxCrossEntropyLoss()
d2l.train_ch13(net, train_iter, test_iter, loss, trainer, num_epochs, devices)

loss 0.089, train acc 0.970, test acc 0.867
1527.8 examples/sec on [gpu(0), gpu(1)]

poYBAGR9PLqAFqedAAEA3l6rxKg512.svg

下面我們使用經(jīng)過訓(xùn)練的模型來預(yù)測兩個(gè)簡單句子的情緒。

d2l.predict_sentiment(net, vocab, 'this movie is so great')

'positive'

d2l.predict_sentiment(net, vocab, 'this movie is so bad')

'negative'

d2l.predict_sentiment(net, vocab, 'this movie is so great')

'positive'

d2l.predict_sentiment(net, vocab, 'this movie is so bad')

'negative'

16.3.4。概括

一維 CNN 可以處理局部特征,例如 n- 文本中的克。

多輸入通道一維互相關(guān)等價(jià)于單輸入通道二維互相關(guān)。

max-over-time 池允許在不同的通道上使用不同數(shù)量的時(shí)間步長。

textCNN 模型使用一維卷積層和 max-over-time 池化層將單個(gè)標(biāo)記表示轉(zhuǎn)換為下游應(yīng)用程序輸出。

16.3.5。練習(xí)

調(diào)整超參數(shù)并比較16.2 節(jié)和本節(jié)中用于情感分析的兩種架構(gòu),例如分類精度和計(jì)算效率。

你能否利用16.2節(jié)習(xí)題中介紹的方法進(jìn)一步提高模型的分類準(zhǔn)確率 ?

在輸入表示中添加位置編碼。它會(huì)提高分類精度嗎?

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

    關(guān)注

    42

    文章

    4773

    瀏覽量

    100889
  • 卷積
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    18527
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    808

    瀏覽量

    13249
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用PyTorch深度解析卷積神經(jīng)網(wǎng)絡(luò)

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種特殊類型的神經(jīng)網(wǎng)絡(luò),在圖像上表現(xiàn)特別出色。卷積神經(jīng)網(wǎng)絡(luò)由Yan LeCun在1998年提出,可以識(shí)別給定輸入圖像
    發(fā)表于 09-21 10:12 ?837次閱讀

    全連接神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)有什么區(qū)別

    全連接神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)的區(qū)別
    發(fā)表于 06-06 14:21

    卷積神經(jīng)網(wǎng)絡(luò)如何使用

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡(luò)在工程上經(jīng)歷了曲折的歷史,您為什么還會(huì)在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發(fā)表于 07-17 07:21

    什么是圖卷積神經(jīng)網(wǎng)絡(luò)?

    卷積神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 08-20 12:05

    卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)是什么

    卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)
    發(fā)表于 05-05 18:12

    卷積神經(jīng)網(wǎng)絡(luò)一維卷積的處理過程

    。本文就以一維卷積神經(jīng)網(wǎng)絡(luò)為例談?wù)勗趺磥磉M(jìn)一步優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)使用的memory。文章(卷積神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 12-23 06:16

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    神經(jīng)網(wǎng)絡(luò)已經(jīng)廣泛應(yīng)用于圖像分類、目標(biāo)檢測、語義分割以及自然語言處理等領(lǐng)域。首先分析了典型卷積神經(jīng)網(wǎng)絡(luò)模型為提高其性能增加網(wǎng)絡(luò)深度以及寬度的模
    發(fā)表于 08-02 10:39

    卷積神經(jīng)網(wǎng)絡(luò)CNN架構(gòu)分析-LeNet

    對于神經(jīng)網(wǎng)絡(luò)卷積有了粗淺的了解,關(guān)于CNN 卷積神經(jīng)網(wǎng)絡(luò),需要總結(jié)深入的知識(shí)有很多:人工神經(jīng)網(wǎng)絡(luò) ANN
    發(fā)表于 11-16 13:28 ?2764次閱讀
    <b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>CNN架構(gòu)<b class='flag-5'>分析</b>-LeNet

    基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型分析文本的情感傾向

    神經(jīng)網(wǎng)絡(luò)模型均未考慮句子的結(jié)構(gòu)信息,并且在訓(xùn)練時(shí)很容易發(fā)生過擬合。針對這兩方面的不足,使用基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型分析文本的情感傾向,
    發(fā)表于 11-23 15:10 ?11次下載

    PyTorch教程8.1之深度卷積神經(jīng)網(wǎng)絡(luò)(AlexNet)

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程8.1之深度卷積神經(jīng)網(wǎng)絡(luò)(AlexNet).pdf》資料免費(fèi)下載
    發(fā)表于 06-05 10:09 ?0次下載
    <b class='flag-5'>PyTorch</b>教程8.1之深度<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>(AlexNet)

    PyTorch教程16.2之情感分析:使用遞歸神經(jīng)網(wǎng)絡(luò)

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程16.2之情感分析:使用遞歸神經(jīng)網(wǎng)絡(luò).pdf》資料免費(fèi)下載
    發(fā)表于 06-05 10:55 ?0次下載
    <b class='flag-5'>PyTorch</b>教程16.2之<b class='flag-5'>情感</b><b class='flag-5'>分析</b>:使用遞歸<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    PyTorch教程16.3情感分析:使用卷積神經(jīng)網(wǎng)絡(luò)

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程16.3情感分析:使用卷積神經(jīng)網(wǎng)絡(luò).pdf》資料免費(fèi)下載
    發(fā)表于 06-05 10:56 ?0次下載
    <b class='flag-5'>PyTorch</b>教程<b class='flag-5'>16.3</b>之<b class='flag-5'>情感</b><b class='flag-5'>分析</b>:使用<b class='flag-5'>卷積</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    卷積神經(jīng)網(wǎng)絡(luò)概述 卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn) cnn卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)

    卷積神經(jīng)網(wǎng)絡(luò)概述 卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn) cnn卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)?
    的頭像 發(fā)表于 08-21 16:41 ?3014次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)層級(jí)結(jié)構(gòu) 卷積神經(jīng)網(wǎng)絡(luò)卷積層講解

    卷積神經(jīng)網(wǎng)絡(luò)層級(jí)結(jié)構(gòu) 卷積神經(jīng)網(wǎng)絡(luò)卷積層講解 卷積神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 08-21 16:49 ?8946次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的介紹 什么是卷積神經(jīng)網(wǎng)絡(luò)算法

    卷積神經(jīng)網(wǎng)絡(luò)的介紹 什么是卷積神經(jīng)網(wǎng)絡(luò)算法 卷積神經(jīng)網(wǎng)絡(luò)涉及的關(guān)鍵技術(shù)
    的頭像 發(fā)表于 08-21 16:49 ?1895次閱讀