發表文章

目前顯示的是有「深度學習」標籤的文章

藉由Tensorflow&Keras_實作透過MLP對IMDb影評情緒分析_產生神經網路架構圖

圖片
  練習程式碼

VGG19實作物件辨識(狗的品種信心指數)_使用Tensorflow

圖片
  VGG 這個名字來自牛津大學的 Visual Geometry Group。2014 年,Karen Simonyan 和 Andrew Zisserman 發表了這套架構,論文名稱是 Very Deep Convolutional Networks for Large-Scale Image Recognition。 這篇工作是以 ImageNet 大規模影像辨識任務為背景,核心問題很直接:如果在同樣類型的卷積網路設計下,只是把深度一路往上推,效果會不會更好?  當然論文的答案是肯定的,而且效果相當顯著。 VGG16 和 VGG19 是非常經典的一代。它們不是最省參數的模型,也不是今天速度最快的模型,但它們做了一件很重要的事:很有系統地證明「把網路加深」真的能讓影像辨識更好。 這個觀念,後來幾乎影響了整個 CNN 發展方向。 VGG 系列其實有好幾種配置,但最有名的是 VGG16 和 VGG19。這裡的 16、19,不是指總共只有 16 層或 19 層所有運算,而是指 有權重的層數(weight layers)。 VGG16:13 個卷積層 + 3 個全連接層 VGG19:16 個卷積層 + 3 個全連接層 主要就是 VGG19 比 VGG16 再更深一些。兩者都延續同一種設計哲學:結構很整齊、規則,更容易理解。 它把 CNN 設計簡化成一種很清楚的原則:反覆堆疊小型卷積核,然後逐步加深網路。只要用夠小、夠一致的 3×3 卷積,並把深度推上去,就能做出非常強的模型。 2014 年 ImageNet(ILSVRC 2014),當年的 ImageNet 視覺辨識競賽,VGG 團隊在那一年的比賽中,拿下定位任務第 1 名,分類任務第 2 名。 雖然分類冠軍是 GoogLeNet,但 VGG 仍然成為整個電腦視覺領域最有代表性的里程碑之一。 下方是Colab上實測VGG19的辨識結果

GNN(Graph Neural Network)圖像化神經網路part1._柯尼斯堡七橋問題(Seven Bridges Problem)

圖片
  A Gentle Introduction to Graph Neural Networks https://distill.pub/2021/gnn-intro/ Neural networks have been adapted to leverage the structure and properties of graphs.  We explore the components needed for building a graph neural network - and motivate the design choices behind them. 上圖比較關鍵的思想在於每個節點來自於上一層哪些節點計算而來。 GNN透過在每一層中將節點的表示更新為其鄰居節點的加權和,然後將這些更新後的表示作為下一層的輸入,從而逐漸地融合局部和全局信息,並在最終的表示中捕獲圖的結構和特徵。 Graph Neural Networks: A Review of Methods and Applications https://arxiv.org/pdf/1812.08434 https://velog.io/@cha-suyeon/CS224W-6.-Graph-Neural-Networks-1-GNN-Model GNN(Graph Neural Network)圖神經網路 「圖」是由節點(Node)與邊(Edge)所構成的資料結構 GNN 是將圖結構引入深度學習中的神經網路,可以幫助我們分析複雜資料之間的關聯,像是社群關係、交通網路或推薦系統等等。 GNN 可被視為是 CNN 的泛化版本。 世界上有許多資料是以圖的形式表示的 知識圖譜(智能客服) 一個人可能有多重身分是誰的妻子or丈夫,或也同時是哪間公司的高管之類的 道路交通動態流量預測 圖神經網路發表相關研究文獻逐漸攀升 Neural Networks extended by GNNs https://journalofbigdata.springeropen.com/articles/10.1186/s40537-023-00876-4 柯尼斯堡七橋問題(Seven Bridges Problem) 圖論中的著名問題,當時東普魯士柯尼斯堡(Königsberg)也是今日俄羅斯加里寧格勒,...

透過單方向LSTM進行短時間的交通流量預測_part2.建構資料集並進行訓練_RMSE,MAE,MAPE指標模型訓練效果可視化

圖片
  程式碼 import numpy as np import time import math import torch import torch.utils.data as Data import matplotlib.pyplot as plt #引入sklearn現成的損失函數MSE(均方誤差),MAE(平均絕對誤差) #MSE(均方誤差):預測值減真實值後再平分取平均 #MAE(平均絕對誤差):預測值減真實值取絕對值後再取平均 from sklearn.metrics import mean_squared_error as mse,mean_absolute_error as mae from torch import nn #把第一階段資料讀取處理放在另一個.py檔案引入 from trafficflow_readdata import X_train, X_test, y_train, y_test device = torch . device( "cuda:0" if torch . cuda . is_available() else "cpu" ) print (device) #透過torch.utils.data建構模型訓練需要的訓練集物件 train_dataset = Data . TensorDataset(torch . Tensor(X_train),torch . Tensor(y_train)) #將測試集轉為張量 X_test = torch . Tensor(X_test) #用torch.utils.data建構數據產生器,按批次生成訓練數據 batch_size = 128 train_loader = Data . DataLoader(dataset = train_dataset, batch_size = batch_size, shuffle = True , #是否要隨機打亂數據 num_worker...

透過單方向LSTM進行短時間的交通流量預測_part1.資料預處理和EDA特徵挑選(使用PEMS04資料集)

圖片
這邊會用PEMS04資料集做交通流量預測的測試(以下提供3個資料集下載連結) https://www.kaggle.com/datasets/wenkeda/pems04 https://zenodo.org/records/7816008 https://github.com/Davidham3/ASTGCN-2019-mxnet/tree/master/data/PEMS04 https://github.com/Davidham3/ASTGCN-2019-mxnet/blob/master/data/README.md Each npz file contains one key, named "data", the shape is (sequence_length, num_of_vertices, num_of_features). 數據集來源於PeMS網站,包含了三藩市灣區(美國加尼福尼亞州三藩市大灣區)29條高速公路上的3848個探測器在2018年1月1日至2018年2月28日期間的數據。 這些探測器每5分鐘收集一次數據,記錄了3848個感測器每5分鐘經過的車輛數。 Performance Measurement System (PeMS) Data Source https://dot.ca.gov/programs/traffic-operations/mpr/pems-source https://pems.dot.ca.gov/ 地圖上顯示的交通數據是從 39,000 多個單獨的檢測器中即時收集的。這些感測器覆蓋加利福尼亞州所有主要大都市地區的高速公路系統。 在這篇文獻 Problem: Road Trajectory Prediction 有介紹到該數據集維度 浙江大学学报(工学版)這篇文獻也可供參考 Traffic flow prediction model based on spatio-temporal graph convolution with multi-information fusion 探測器節點數: 307 特徵數(每個探測器每次採集的數據有3個維度特徵): 3 數據時長: 59天 時間視窗: 5分鐘 可登入Kaggle後下載資料集 Processing traffic data for deep ...