偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

什么是神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)開發(fā)框架——PyTorch和架構(gòu)Transformer的區(qū)別和聯(lián)系 原創(chuàng)

發(fā)布于 2025-1-13 10:30
瀏覽
0收藏

“ PyTorch就是工具,而Transformer就是理論;而理論指導(dǎo)工具。”

我們都知道大模型的本質(zhì)是一個(gè)神經(jīng)網(wǎng)絡(luò)模型,因此我們學(xué)習(xí)大模型就是在學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型;但了解了很多關(guān)于神經(jīng)網(wǎng)絡(luò)的理論,但大部分人對神經(jīng)網(wǎng)絡(luò)都沒有一個(gè)清晰的認(rèn)識,也就是說神經(jīng)網(wǎng)絡(luò)到底是什么?它長什么樣?

事實(shí)上所謂的神經(jīng)網(wǎng)絡(luò)本質(zhì)上就是一個(gè)數(shù)學(xué)模型,里面涉及大量的數(shù)學(xué)運(yùn)算;只不過其運(yùn)算的主要數(shù)據(jù)類型是——向量,具體表現(xiàn)為多維矩陣。

PyTorch和Transformer

在神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)研究過程中,有兩個(gè)東西是繞不過去的;一個(gè)是PyTorch神經(jīng)網(wǎng)絡(luò)開發(fā)框架,另一個(gè)就是Transformer神經(jīng)網(wǎng)絡(luò)架構(gòu)。它們兩者之間的關(guān)系就類似于編程語言和算法之間的關(guān)系,PyTorch就是編程語言;而Transformer就是算法。

Transformer即可以通過PyTorch框架實(shí)現(xiàn),也可以通過其它框架實(shí)現(xiàn),比如Tensorflow;PyTorch也可以實(shí)現(xiàn)其它的網(wǎng)絡(luò)架構(gòu)模型,比如CNN和RNN等。

因此,PyTorch也被稱為科學(xué)計(jì)算框架,原因就在于神經(jīng)網(wǎng)絡(luò)的本質(zhì)就是數(shù)學(xué)模型,而數(shù)學(xué)模型就是不停地做科學(xué)計(jì)算。

如下就是一個(gè)簡單的使用PyTorch實(shí)現(xiàn)的簡單神經(jīng)網(wǎng)絡(luò)模型,從代碼中可以看出,一個(gè)神經(jīng)網(wǎng)絡(luò)主要由兩部分組成,init初始化方法和forward前向傳播方法。

import torch
import torch.nn as nn


# 定義簡單的神經(jīng)網(wǎng)絡(luò)架構(gòu)
class SimpleNeuralNetwork(nn.Module):
    def __init__(self):
        super(SimpleNeuralNetwork, self).__init__()
        self.layer1 = nn.Linear(10, 5)  # 輸入層10維,輸出5維
        self.layer2 = nn.Linear(5, 2)   # 隱藏層5維,輸出2維


    def forward(self, x):
        x = torch.relu(self.layer1(x))  # 使用ReLU激活函數(shù)
        x = self.layer2(x)              # 輸出層不需要激活函數(shù)
        return x


# 創(chuàng)建模型實(shí)例并輸出網(wǎng)絡(luò)結(jié)構(gòu)
model = SimpleNeuralNetwork()
print(model)

在init方法中主要用來初始化一些參數(shù),以及神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)層;比如Linear就是一個(gè)線性神經(jīng)網(wǎng)絡(luò)層——也叫做全連接層。

而forward方法就用來做一些科學(xué)計(jì)算,也就是神經(jīng)網(wǎng)絡(luò)模型中的傳播算法等。比如上面代碼中,就是對目標(biāo)數(shù)據(jù)x先使用layer1網(wǎng)絡(luò)層做一次線性變換,然后再使用relu函數(shù)進(jìn)行激活。之后在使用layer2線性網(wǎng)絡(luò)做一次線性變換,最終返回變換之后x的值。

在神經(jīng)網(wǎng)絡(luò)中,除了輸入層與輸出層之外;任何一層網(wǎng)絡(luò)的輸入都來自上層網(wǎng)絡(luò)的輸出;而任何一層網(wǎng)絡(luò)的輸出就是下層網(wǎng)絡(luò)的輸入。

什么是神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)開發(fā)框架——PyTorch和架構(gòu)Transformer的區(qū)別和聯(lián)系-AI.x社區(qū)

所以,神經(jīng)網(wǎng)絡(luò)的核心就是:“將現(xiàn)實(shí)問題轉(zhuǎn)化為數(shù)學(xué)問題,通過求解數(shù)學(xué)問題,從而解決現(xiàn)實(shí)問題”。

但是,為什么多維矩陣在經(jīng)過多層神經(jīng)網(wǎng)絡(luò)的多次變換之后,就能夠“理解”自然語言,“看懂”圖片和視頻;這個(gè)就是Transformer等神經(jīng)網(wǎng)絡(luò)架構(gòu)需要解決的問題了。

從外面來看,神經(jīng)網(wǎng)絡(luò)就是一個(gè)黑盒,我們輸入一些數(shù)據(jù),然后神經(jīng)網(wǎng)絡(luò)這個(gè)黑盒就能根據(jù)某種規(guī)則給我們生成一些新的數(shù)據(jù);但我們并不知道神經(jīng)網(wǎng)絡(luò)中到底發(fā)生了什么。

但把這個(gè)黑盒打開之后就可以看到,Transformer這個(gè)黑盒是由Encoder-Decoder編碼器和解碼器組成的;而編碼器和解碼器又由更小的組件組成——比如多頭注意力,殘差層等組成。

什么是神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)開發(fā)框架——PyTorch和架構(gòu)Transformer的區(qū)別和聯(lián)系-AI.x社區(qū)

如上圖所示就是Transformer論文提供的經(jīng)典架構(gòu)圖;詳細(xì)說明了Transformer的編碼器和解碼器是怎么構(gòu)成的。

因此,PyTorch和Transformer的關(guān)系就是工具和理論的關(guān)系;沒了工具就無法制造出神經(jīng)網(wǎng)絡(luò),而沒有理論神經(jīng)網(wǎng)絡(luò)就無法解決實(shí)際問題;這里PyTorch就是制造神經(jīng)網(wǎng)絡(luò)的工具;而Transformer就是讓神經(jīng)網(wǎng)絡(luò)能夠正常運(yùn)行的理論。


本文轉(zhuǎn)載自公眾號AI探索時(shí)代 作者:DFires

原文鏈接:??https://mp.weixin.qq.com/s/JjKU3j9-RLrxnRpkjv62Ow??

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦