筆記-深度學習模型訓練:利用殘差網路做影像辨識

更新於 發佈於 閱讀時間約 4 分鐘

前言

讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。



正文

def conv(filters, kernel_size, strides=1):
return Conv2D(filters,
kernel_size,
strides=strides,
padding='same',
use_bias=True,
kernel_initializer='he_normal',
kernel_regularizer=l2(0.0001))
def residual_unit(filters):
def f(x):
x_b = x
# x = BatchNormalization()(x) 2.加了似乎會過擬合​
# x = Activation('relu')(x) 2.加了似乎會過擬合​
x = conv(filters, 1)(x)

x = BatchNormalization()(x)
x = Activation('relu')(x)
x = conv(filters, 3)(x)

x = BatchNormalization()(x)
x = Activation('relu')(x)
x = conv(filters, 3)(x)

# x = BatchNormalization()(x) 2.加了似乎會過擬合​
# x = Activation('relu')(x) 2.加了似乎會過擬合​
x = conv(64, 1)(x)

return Add()([x, x_b])
return f
input = Input(shape=(32, 32, 3))

x = conv(64, 1)(input)

for i in range(3):
x = residual_unit(64)(x)

for i in range(4):
x = residual_unit(128)(x)

for i in range(6):
x = residual_unit(256)(x)

for i in range(3):
x = residual_unit(512)(x)

x = BatchNormalization()(x) # 1.沒加會訓練不起來
x = Activation('relu')(x) # 1.沒加會訓練不起來

x = GlobalAveragePooling2D()(x)

output = Dense(10, activation='softmax', kernel_regularizer=l2(0.0001))(x)

model = Model(inputs=input, outputs=output)

以上是我的模型,架構參考《強化式學習:打造最強 AlphaZero 通用演算法》書中的範例,以及前面兩篇論文。

邊訓練會邊遇到問題而邊調整,還滿有趣的,只是要有耐心XD。上面的程式碼中標記"1."的地方,是一開始沒有加的程式行,沒加的話發現每回合的準確率(acc)都只有0.1,訓練不起來;"1."的地方加了之後有進展,也想說標記"2."的地方應該也要加,加了後觀察到驗證的acc落差的比訓練的acc有點多,應該是發生了過擬合,所以把"2."的地方又拿掉了。途中有遇到acc在回合間來回,調過learning rate後就好了。

以下是我的模型的訓練間紀錄和訓練後結果,因為那時候還沒買Colab Pro(Colab的付費方案),為了趕在時間內跑完,訓練回合只設定了20(書是設定120),而且也沒做正規化,所以跑出來的結果還滿差的,預測10個資料10個都錯XD​。

前12個epoch的訓練紀錄

前12個epoch的訓練紀錄

後8個epoch的訓練紀錄

後8個epoch的訓練紀錄

訓練準確率和驗證準確率每回合的比較圖

訓練準確率和驗證準確率每回合的比較圖

用測試資料測試結果模型的損失和準確

用測試資料測試結果模型的損失和準確

用前10筆測試資料測試結果模型,沒有一個是對的XD

用前10筆測試資料測試結果模型,沒有一個是對的XD

第一次花四、五個小時訓練模型,雖然結果不甚滿意,但在過程中有學到東西,也算是有所收獲啦XD!



參考

  • 《強化式學習:打造最強 AlphaZero 通用演算法》



小結

上一篇文章暫時被我隱藏起來了,因為發現有點問題,等確認後再發佈,跟各位說聲不好意思!繼續趕路,繼續留腳印(XD),明天台中放颱風假QQXD~



留言
avatar-img
留言分享你的想法!
avatar-img
柴郡貓姍蒂的沙龍
49會員
30內容數
2025/01/04
前言 最近在研究時間序列的預測,除了上課,也有在Medium上看文章,學到一些知識,除了自己做筆記記錄,也分享給大家。本篇筆記為翻譯統整:Neural Network (MLP) for Time Series Forecasting in Practice—Daniel J. TOTH,這篇Me
2025/01/04
前言 最近在研究時間序列的預測,除了上課,也有在Medium上看文章,學到一些知識,除了自己做筆記記錄,也分享給大家。本篇筆記為翻譯統整:Neural Network (MLP) for Time Series Forecasting in Practice—Daniel J. TOTH,這篇Me
2024/10/09
前言 跟上一篇文章一樣,都是看到陌生的演算法後,去搜尋資料記錄成文章。 正文 在強化式學習中,策略(Policy)指的是代理人根據目前的狀態決定下一個動作的方針,具體來說就是在某個狀態下採取某個動作的機率。Policy Gradient的目的是找到一個最優策略,使得整個任務的回報值最大化。
2024/10/09
前言 跟上一篇文章一樣,都是看到陌生的演算法後,去搜尋資料記錄成文章。 正文 在強化式學習中,策略(Policy)指的是代理人根據目前的狀態決定下一個動作的方針,具體來說就是在某個狀態下採取某個動作的機率。Policy Gradient的目的是找到一個最優策略,使得整個任務的回報值最大化。
2024/10/05
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》一書時,對一些沒有聽過的演算法感到陌生,基於打基礎或是增廣見聞的念頭下,上網或問ChatGPT,搜尋了一些資料,整理並紀錄而成這篇文章。 正文 下面說的兩種選擇策略方法用來解決類似多臂拉霸機(Multi-Armed Ban
2024/10/05
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》一書時,對一些沒有聽過的演算法感到陌生,基於打基礎或是增廣見聞的念頭下,上網或問ChatGPT,搜尋了一些資料,整理並紀錄而成這篇文章。 正文 下面說的兩種選擇策略方法用來解決類似多臂拉霸機(Multi-Armed Ban
看更多
你可能也想看
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
Thumbnail
本文將延續上一篇文章,經由訓練好的VAE模型其中的解碼器,來生成圖片。 [深度學習]訓練VAE模型用於生成圖片_訓練篇 輸入產生的隨機雜訊,輸入VAE的解碼器後,生成的圖片
Thumbnail
本文主要介紹,如何利用VAE變分自編碼器來訓練生成圖片。 訓練集資料將採用TF影像資料庫中的fashion_mnist VAE變分自編碼器簡單介紹 •VAE(Variational Auto-Encoder)中文名稱變分自編碼器,主要是一種將原始資料編碼到潛在向量空間,再編碼回來的神經網路。
Thumbnail
本文主要介紹,如何利用VAE變分自編碼器來訓練生成圖片。 訓練集資料將採用TF影像資料庫中的fashion_mnist VAE變分自編碼器簡單介紹 •VAE(Variational Auto-Encoder)中文名稱變分自編碼器,主要是一種將原始資料編碼到潛在向量空間,再編碼回來的神經網路。
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
GNN發展背景 傳統的深度學習模型如在計算機視覺(CV)和自然語言處理(NLP)領域中極為成功,主要是處理結構化數據如影像和文本。這些數據類型通常具有固定且規律的結構,例如影像是由有序的像素點組成。然而,在真實世界中,許多數據是非結構化的,如化合物結構(原子和分子)。這些數據雖然具有一定的規則性,
Thumbnail
GNN發展背景 傳統的深度學習模型如在計算機視覺(CV)和自然語言處理(NLP)領域中極為成功,主要是處理結構化數據如影像和文本。這些數據類型通常具有固定且規律的結構,例如影像是由有序的像素點組成。然而,在真實世界中,許多數據是非結構化的,如化合物結構(原子和分子)。這些數據雖然具有一定的規則性,
Thumbnail
最近在嘗試使用不同的AI生圖方式混合出圖的方式,採用A平台的優點,並用B平台後製的手法截長補短,創造出自己更想要的小說場景,效果不錯,現在以這張圖為例,來講一下我的製作步驟。
Thumbnail
最近在嘗試使用不同的AI生圖方式混合出圖的方式,採用A平台的優點,並用B平台後製的手法截長補短,創造出自己更想要的小說場景,效果不錯,現在以這張圖為例,來講一下我的製作步驟。
Thumbnail
此篇調查論文探討了Diffusion模型在文字、圖片和聲音轉換為影片,以及影片衍生和編輯的應用類型。作者也介紹了U-Net架構和Vision Transformer等生成圖像架構,並詳細探討了訓練模型的方法以及不同的影像資料集來源。
Thumbnail
此篇調查論文探討了Diffusion模型在文字、圖片和聲音轉換為影片,以及影片衍生和編輯的應用類型。作者也介紹了U-Net架構和Vision Transformer等生成圖像架構,並詳細探討了訓練模型的方法以及不同的影像資料集來源。
Thumbnail
本篇文章參考 Youtube 影片(...二次元模型...)內容,為大家找出影片中的模型,直接作圖測試,您直接連結過去,就可以在 TensorArt 內直接使用囉!
Thumbnail
本篇文章參考 Youtube 影片(...二次元模型...)內容,為大家找出影片中的模型,直接作圖測試,您直接連結過去,就可以在 TensorArt 內直接使用囉!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News