【資料分析】深度學習 DNN、CNN、RNN 概述

更新於 發佈於 閱讀時間約 18 分鐘
raw-image

深度學習 (Deep Learning) 是一種基於人工神經網絡的機器學習技術,旨在從大量數據中學習抽象特徵表示。其核心是通過多層非線性轉換(即「深度」結構)來自動提取數據的高層特徵,從而實現複雜任務(如圖像識別、自然語言處理)。

深度學習的核心概念:

  1. 神經網絡:由神經元組成的數學模型,模仿生物神經網絡的信息處理方式。
  2. 多層結構:包括輸入層、隱藏層(多層)、輸出層,隱藏層越多,模型表達能力越強。
  3. 自動特徵提取:通過訓練,模型能自動從數據中學習相關特徵,而不需要人工設計。
  4. 大規模數據和算力:深度學習的成功依賴於大量標記數據和強大的計算資源(如 GPU)。


# 可使用目錄功能快速確認要閱覽的主題



快速比較 DNN、CNN 與 RNN

CNN 和 RNN 都基於 DNN 的全連接層設計進行改進,但更針對特定數據類型(空間數據和序列數據)進行優化:

  1. CNN 保留 DNN 的非線性特徵學習能力,但加入卷積層以降低參數數量並專注於空間結構。
  2. RNN 保留 DNN 的多層結構特性,但加入循環結構以建模時間依賴性。

兩者都是 DNN 的進化版本,針對特定問題進行優化,解決了 DNN 在特定領域的不足。


CNN 和 RNN 對 DNN 進行的改進,專注於特定數據結構的優化設計。這些模型的成功表明,深度學習並非僅僅依賴「深」,而是需要針對具體問題設計合適的架構。

raw-image



DNN 深度神經網絡(Deep Neural Network)

定義

DNN 是一種具有多層結構的人工神經網絡(ANN),通常包含輸入層、多個隱藏層 和輸出層。其目的是通過多層非線性轉換,自動提取數據的特徵,並用於分類、迴歸等任務。

簡單來說,DNN 是對基本神經網絡(FNN)的擴展,增加了隱藏層的數量,從而能處理更複雜的問題。


常見應用場景

  1. 分類任務
    • 客戶流失預測(Churn Prediction)。
    • 醫療診斷(例如是否患有某種疾病)。
  2. 迴歸任務
    • 銷售預測。
    • 房價預測。
  3. 多輸出問題
    • 預測同時影響多個變數的情境(例如廣告效果的多維評估)。


基本結構

  1. 輸入層(Input Layer)
    • 負責接收原始數據特徵。
    • 每個神經元對應數據的一個特徵,例如數值型數據中的每一列。
  2. 隱藏層(Hidden Layers)
    • 通過激活函數引入非線性能力,允許網絡學習複雜的模式。
    • 層數越多,表達能力越強,但計算成本和過擬合風險也越高。
  3. 輸出層(Output Layer)
    • 負責輸出模型的結果,例如:分類問題:每個類別對應一個輸出神經元。迴歸問題:輸出單一值或多個值。


工作原理

  1. 前向傳播(Forward Propagation)
    • 輸入數據依次通過每一層神經元的權重計算、偏置加成和激活函數,生成輸出。
    • 數學表達:
    raw-image
    • 其中:z(l):第 l 層的線性組合。
      • W(l):第 l 層的權重矩陣。
      • b(l):偏置項。
      • σ:激活函數。
  2. 損失計算(Loss Calculation)
    • 通過損失函數衡量模型預測與真實值的誤差。
    • 常見損失函數:
      • 分類問題:交叉熵損失(Cross-Entropy Loss)。
      • 迴歸問題:均方誤差(Mean Squared Error, MSE)。
  3. 反向傳播(Backpropagation)
    • 通過鏈式法則計算每層權重和偏置的梯度。
    • 更新權重與偏置以減少損失,優化過程通常使用梯度下降(Gradient Descent)。
  4. 權重更新
    • 使用優化器(如 Adam、SGD 等)更新權重和偏置。


優點與挑戰

優點:

  1. 高表達能力:能從數據中學習複雜的模式和非線性關係。
  2. 自動特徵提取:減少人工特徵工程的需求。
  3. 應用廣泛:適用於分類、迴歸、多輸出問題。

挑戰:

  1. 過擬合風險:模型可能記住訓練數據的細節而忽略通用性。
  2. 梯度消失問題:深層網絡中,早期層的梯度可能變得極小。
  3. 計算資源需求高:需要強大的硬件支持(如 GPU)。
  4. 需要大量數據:小樣本可能導致模型性能欠佳。


Python 範例:簡單 DNN

構建 DNN 非常容易,常見的深度學習框架包括:

  1. TensorFlow/Keras
    • 簡單易用,適合初學者。
    • 範例:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# 建立模型
model = Sequential([
Dense(64, activation='relu', input_shape=(input_dim,)),
Dense(32, activation='relu'),
Dense(output_dim, activation='softmax') # 根據任務選擇激活函數
])

# 編譯模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

# 訓練模型
model.fit(X_train, y_train, epochs=10, batch_size=32)


  1. PyTorch
  • 更靈活,適合需要高度定制的場景。
  • 範例:
import torch
import torch.nn as nn

class DNN(nn.Module):
def __init__(self, input_dim, output_dim):
super(DNN, self).__init__()
self.fc1 = nn.Linear(input_dim, 64)
self.fc2 = nn.Linear(64, 32)
self.fc3 = nn.Linear(32, output_dim)
self.relu = nn.ReLU()

def forward(self, x):
x = self.relu(self.fc1(x))
x = self.relu(self.fc2(x))
x = self.fc3(x)
return x

model = DNN(input_dim, output_dim)



CNN 卷積神經網絡(Convolutional Neural Network)

定義

卷積神經網絡(CNN)是一種專門用於處理結構化數據(特別是圖像)的深度學習模型。CNN 通過卷積運算和特徵提取的方式,從圖像中學習局部模式和層次化特徵,廣泛應用於圖像分類、目標檢測、語音識別等領域。


常見應用場景

  1. 圖像分類
    • 手寫數字識別(MNIST)。
    • 圖像標籤分類(如 CIFAR-10、ImageNet)。
  2. 目標檢測
    • 偵測圖像中的物體及其位置(如 YOLO、Faster R-CNN)。
  3. 語音處理
    • 語音情緒分析。
    • 語音識別(與 RNN 或 Transformer 結合)。
  4. 醫學影像分析
    • CT/MRI 圖像的腫瘤檢測。
    • 醫學影像分類與分割。
  5. 自駕車
    • 路標識別。
    • 車道線檢測。


基本結構

  1. 輸入層(Input Layer)
  • 負責接收數據,通常是高維圖像數據,例如彩色圖像的大小是 H×W×C(高度×寬度×通道數,例如 224×224×3)。
  • 特徵:
    • 高度(Height):圖像的垂直像素數。
    • 寬度(Width):圖像的水平像素數。
    • 通道(Channel):如 RGB 圖像有 3 個通道,灰度圖像有 1 個通道。
  1. 卷積層(Convolutional Layer)
  • 功能:從圖像中提取局部特徵。
  • 運算
    • 使用一組「卷積核」(filters/kernels)在輸入數據上滑動,計算點積來生成特徵圖(Feature Map)。
    • 每個卷積核專注於學習不同的模式,例如邊緣、線條或紋理。
    數學公式:
raw-image
  • 其中:
    • Z 是特徵圖。
    • W 是卷積核(權重矩陣)。
    • X 是輸入數據。
    • b 是偏置項。
  • 重要參數
    • 卷積核大小(Filter Size):如 3×3、5×5。
    • 步長(Stride):每次滑動的步長,步長越大,特徵圖尺寸越小。
    • 填充(Padding):為保留輸出尺寸,是否在輸入周圍補零。


  1. 激活函數(Activation Function)
  • 功能:引入非線性特性,讓模型能學習複雜的模式。
  • 常用函數
    • ReLU(Rectified Linear Unit):常用於卷積層,計算簡單,效果良好。
raw-image
  1. 池化層(Pooling Layer)
  • 功能:通過降維減少特徵圖大小,降低計算量並增強模型的平移不變性。
  • 種類
    • 最大池化(Max Pooling):取池化窗口內的最大值。
    • 平均池化(Average Pooling):取池化窗口內的平均值。
  • 超參數
    • 窗口大小(如 2×2)。
    • 步長(通常與窗口大小相同)。


  1. 全連接層(Fully Connected Layer, FC Layer)
  • 功能:將提取的特徵映射到輸出空間,用於分類或回歸。
  • 輸出層:通常用於輸出最終結果:
    • 二分類:單一輸出節點,激活函數為 Sigmoid。
    • 多分類:多個輸出節點,激活函數為 Softmax。


工作原理

  1. 輸入圖像
    • 將原始圖像數據輸入 CNN,經過歸一化處理(例如將像素值縮放到 [0,1])。
  2. 卷積層提取特徵
    • 第一層卷積提取低層特徵,如邊緣、線條。
    • 更深層的卷積提取高階特徵,如形狀、物體部件。
  3. 池化層降維
    • 壓縮特徵圖,減少計算成本,同時保留主要信息。
  4. 多層卷積與池化
    • 通過堆疊多層卷積和池化層,逐漸提取更抽象、更高級的特徵。
  5. 全連接層輸出結果
    • 將最終特徵輸入全連接層,用於分類或其他任務。


優點與挑戰

優點:

  1. 特徵自動提取:CNN 能自動學習特徵,而不需要手工設計。
  2. 局部感知:卷積層專注於局部模式,如圖像中的邊緣、角點。
  3. 參數共享:同一卷積核在整個圖像上滑動,顯著降低參數數量。
  4. 平移不變性:池化層幫助模型對輸入的平移和局部變化具有穩定性。

挑戰:

  1. 計算量大:需要大量計算資源(尤其是處理高分辨率圖像時)。
  2. 過擬合風險:深層模型容易過擬合,需要正則化和數據增強技術。
  3. 數據需求高:CNN 需要大量標註數據來訓練。


Python 範例:簡單 CNN

以下是一個使用 Keras 構建的簡單 CNN 模型範例:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

# 建立模型
model = Sequential([
Conv2D(filters=32, kernel_size=(3, 3), activation='relu', input_shape=(64, 64, 3)),
MaxPooling2D(pool_size=(2, 2)),
Conv2D(filters=64, kernel_size=(3, 3), activation='relu'),
MaxPooling2D(pool_size=(2, 2)),
Flatten(),
Dense(units=128, activation='relu'),
Dense(units=10, activation='softmax') # 用於 10 類分類
])

# 編譯模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

# 模型摘要
model.summary()



RNN 遞歸神經網絡(Recurrent Neural Network)

定義

RNN 是一類專為處理序列數據設計的神經網絡,它可以利用數據中的時間順序信息,讓網絡對當前輸入和之前的狀態進行建模。因此,RNN 非常適合處理像時間序列、語言數據、音頻信號等帶有上下文或依賴關係的數據。

核心思想:RNN 在時間維度上引入了循環結構,允許隱藏層的輸出影響下一步的計算,形成「記憶」效果。


常見應用場景

  1. 自然語言處理(NLP)
    • 情感分析(Sentiment Analysis)。
    • 語言建模(Language Modeling)。
    • 機器翻譯(Machine Translation)。
  2. 時間序列分析
    • 股價預測。
    • 天氣預測。
    • 信號處理(如音頻分類)。
  3. 語音識別
    • 轉錄語音到文本。
  4. 生成任務
    • 文本生成(如 ChatGPT)。
    • 圖像字幕生成。


基本結構與工作原理

RNN 的結構包含以下部分:

  1. 輸入層(Input Layer)
  • 每個時間步(time step)輸入一個序列中的數據。例如:
    • 單詞序列:每個時間步是一個單詞的詞向量。
    • 時間序列數據:每個時間步是一個觀測值。
  • 數據結構
    • 對於序列長度 T,輸入數據 x 表示為:
    raw-image
    • 每個 x(t) 是一個特徵向量。
  1. 隱藏層(Hidden Layer)
  • 遞歸關係:隱藏層的輸出同時依賴於當前輸入和上一時間步的隱藏狀態。
raw-image

其中:

    • h(t):當前時間步的隱藏狀態。
    • h(t−1):上一時間步的隱藏狀態。
    • x(t):當前時間步的輸入。
    • Wh、Wx​:權重矩陣。
    • b:偏置向量。
    • f:激活函數(如 Tanh 或 ReLU)。
  • 隱藏狀態的作用:儲存序列的「記憶」,幫助模型理解上下文。
  1. 輸出層(Output Layer)
  • 對每個時間步 t 的隱藏狀態 h(t) 生成對應的輸出 o(t):
raw-image
    • g:輸出層的激活函數(例如 Softmax 或線性函數)。
  • 輸出形式因任務而異:
    • 序列到序列(Sequence-to-Sequence):輸出與輸入具有相同長度。
    • 序列到標籤(Sequence-to-Label):輸出為一個標籤(例如情感分類)。


工作流程

  1. 前向傳播(Forward Propagation)
    • 將序列數據分時間步輸入。
    • 每個時間步的輸出依賴當前輸入和之前的隱藏狀態。
    • 將最後或全部隱藏狀態作為輸出。
  2. 損失計算
    • 根據真實標籤計算損失,例如:分類問題:交叉熵損失。回歸問題:均方誤差(MSE)。
  3. 反向傳播(Backpropagation Through Time, BPTT)
    • 通過時間反向計算每個時間步的梯度,更新權重和偏置。


優點與挑戰

優點:

  1. 上下文建模:通過隱藏狀態,RNN 能捕捉序列中的上下文依賴性。
  2. 序列處理能力強:適合處理變長輸入或輸出,例如自然語言處理(NLP)和時間序列預測。


挑戰:

  1. 梯度消失與梯度爆炸
    • 當序列過長時,早期時間步的梯度可能過小(梯度消失)或過大(梯度爆炸)。
    • 解決方法:使用改進版本(如 LSTM 和 GRU)。
  2. 長期依賴建模困難
    • 基本 RNN 難以有效捕捉序列中長距離的依賴關係。
  3. 計算成本高
    • 每個時間步的計算需要依賴上一時間步,難以並行化。


Python 範例:簡單 RNN

以下是一個使用 TensorFlow/Keras 實現簡單 RNN 的範例:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import SimpleRNN, Dense

# 建立模型
model = Sequential([
SimpleRNN(50, activation='tanh', input_shape=(100, 1)), # 100 個時間步,每步 1 個特徵
Dense(1, activation='sigmoid') # 輸出單一值,用於二分類
])

# 編譯模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

# 模型摘要
model.summary()
avatar-img
7會員
23內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
JayRay 的沙龍 的其他內容
本篇文章提供描述性統計的完整指南,涵蓋集中趨勢、離散趨勢和數據分佈等重要概念,並附上豐富的實務應用案例與 Python 資料視覺化參考連結,協助讀者快速瞭解數據分析的基礎知識。
Naive Bayes是一種基於貝葉斯定理的機器學習分類演算法,適用於文本分類、垃圾郵件檢測及情感分析等任務。雖然假設特徵之間相互獨立,這在現實中不常成立,但其高效計算與穩定性使得在小數據集及高維度特徵空間中表現良好。
數據洩漏是在機器學習和數據分析中,因不當使用資料而造成的模型性能評估錯誤。這篇文章探討數據洩漏的常見形式及其對模型可靠性的影響,並提供防範措施,如嚴格劃分數據集、僅對訓練集進行預處理和使用交叉驗證。瞭解這些概念有助於構建更穩健的數據驅動模型。
本文探討四個關鍵的分類模型評估指標:準確率、精確率、召回率與 F1-Score。這些指標各自從不同角度反映模型的預測性能,理解它們的定義、計算方式和適用情境,能夠幫助您在數據分析和機器學習項目中做出更優的決策。
本文探討了聚類算法中常用的效果評估指標,包括內部和外部指標,並詳細介紹了輪廓係數、群集內距離平方和(WCSS)及Davies-Bouldin指數三種主要指標的計算方法、優缺點與應用場景。這些指標各有特點,適用於不同的聚類場景,有助於有效評估聚類質量,提升無監督學習的效能。
這篇文章深入探討了數據科學與機器學習中的主要聚類算法,包括 K-means、DBSCAN 和層次聚類。介紹了每種算法的工作原理、優缺點及其適用場景,幫助讀者理解何時選擇何種聚類技術。本文還提供了相關的程式碼範例,方便讀者進一步學習與實踐。
本篇文章提供描述性統計的完整指南,涵蓋集中趨勢、離散趨勢和數據分佈等重要概念,並附上豐富的實務應用案例與 Python 資料視覺化參考連結,協助讀者快速瞭解數據分析的基礎知識。
Naive Bayes是一種基於貝葉斯定理的機器學習分類演算法,適用於文本分類、垃圾郵件檢測及情感分析等任務。雖然假設特徵之間相互獨立,這在現實中不常成立,但其高效計算與穩定性使得在小數據集及高維度特徵空間中表現良好。
數據洩漏是在機器學習和數據分析中,因不當使用資料而造成的模型性能評估錯誤。這篇文章探討數據洩漏的常見形式及其對模型可靠性的影響,並提供防範措施,如嚴格劃分數據集、僅對訓練集進行預處理和使用交叉驗證。瞭解這些概念有助於構建更穩健的數據驅動模型。
本文探討四個關鍵的分類模型評估指標:準確率、精確率、召回率與 F1-Score。這些指標各自從不同角度反映模型的預測性能,理解它們的定義、計算方式和適用情境,能夠幫助您在數據分析和機器學習項目中做出更優的決策。
本文探討了聚類算法中常用的效果評估指標,包括內部和外部指標,並詳細介紹了輪廓係數、群集內距離平方和(WCSS)及Davies-Bouldin指數三種主要指標的計算方法、優缺點與應用場景。這些指標各有特點,適用於不同的聚類場景,有助於有效評估聚類質量,提升無監督學習的效能。
這篇文章深入探討了數據科學與機器學習中的主要聚類算法,包括 K-means、DBSCAN 和層次聚類。介紹了每種算法的工作原理、優缺點及其適用場景,幫助讀者理解何時選擇何種聚類技術。本文還提供了相關的程式碼範例,方便讀者進一步學習與實踐。
你可能也想看
Google News 追蹤
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
Thumbnail
透過這篇文章,我們將瞭解如何使用PyTorch實作圖神經網絡中的訊息傳遞機制,從定義消息傳遞的類別到實作消息傳遞過程。我們也探討了各種不同的消息傳遞機制,並通過對單次和多次傳遞過程的結果,可以看到節點特徵如何逐步傳遞與更新。
Thumbnail
本篇文章專注於消息傳遞(message passing)在圖神經網絡(GNN)中的應用,並以簡單的例子解釋了消息傳遞的過程和機制。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,文中介紹了殘差網路,並推薦了兩篇論文;因為在看了書後,對殘差網路的概念還是不很清楚,於是決定用ChatGPT翻譯這兩篇論文來增強理解,以下正文是第一篇論文:Deep Residual Learning for Image Re
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 首先先展示 Transformer 的架構圖: 可以看到架構中不再出現 RNN 、 LSTM 、 CNN 等物件,因為 Recurrence 已被摒棄。
Thumbnail
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
Thumbnail
大家好,我是woody,是一名料理創作者,非常努力地在嘗試將複雜的料理簡單化,讓大家也可以體驗到料理的樂趣而我也非常享受料理的過程,今天想跟大家聊聊,除了料理本身,料理創作背後的成本。
Thumbnail
哈囉~很久沒跟各位自我介紹一下了~ 大家好~我是爺恩 我是一名圖文插畫家,有追蹤我一段時間的應該有發現爺恩這個品牌經營了好像.....快五年了(汗)時間過得真快!隨著時間過去,創作這件事好像變得更忙碌了,也很開心跟很多厲害的創作者以及廠商互相合作幫忙,還有最重要的是大家的支持與陪伴🥹。  
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
本文參考TensorFlow官網Deep Convolutional Generative Adversarial Network的程式碼來加以實作說明。 示範如何使用深度卷積生成對抗網路(DCGAN) 生成手寫數位影像。
Thumbnail
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
本文主要介紹,如何利用GAN生成對抗網路來訓練生成圖片。 利用tensorflow,中的keras來建立生成器及鑑別器互相競爭訓練,最後利用訓練好的生成器來生成圖片。 GAN生成對抗網路的介紹 它由生成網路(Generator Network)和鑑別網路(Discriminator Netwo
Thumbnail
透過這篇文章,我們將瞭解如何使用PyTorch實作圖神經網絡中的訊息傳遞機制,從定義消息傳遞的類別到實作消息傳遞過程。我們也探討了各種不同的消息傳遞機制,並通過對單次和多次傳遞過程的結果,可以看到節點特徵如何逐步傳遞與更新。
Thumbnail
本篇文章專注於消息傳遞(message passing)在圖神經網絡(GNN)中的應用,並以簡單的例子解釋了消息傳遞的過程和機制。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,文中介紹了殘差網路,並推薦了兩篇論文;因為在看了書後,對殘差網路的概念還是不很清楚,於是決定用ChatGPT翻譯這兩篇論文來增強理解,以下正文是第一篇論文:Deep Residual Learning for Image Re
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 首先先展示 Transformer 的架構圖: 可以看到架構中不再出現 RNN 、 LSTM 、 CNN 等物件,因為 Recurrence 已被摒棄。
Thumbnail
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。