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

更新於 2024/07/23閱讀時間約 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~



留言0
查看全部
avatar-img
發表第一個留言支持創作者!
柴郡貓姍蒂的沙龍 的其他內容
前言 承上一篇筆記文章,繼續閱讀推薦的第二篇論文:Identity Mappings in Deep Residual Networks—Kaiming He、Xiangyu Zhang、Shaoqing Ren、Jian Sun。也是一樣的發表者,內容是對他們之前發表的Deep Residual
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,文中介紹了殘差網路,並推薦了兩篇論文;因為在看了書後,對殘差網路的概念還是不很清楚,於是決定用ChatGPT翻譯這兩篇論文來增強理解,以下正文是第一篇論文:Deep Residual Learning for Image Re
前言 在閱讀網路文章時,有看到說1X1的卷積層能夠升維、降維,不了解所以然,故來查找。:P 正文 卷積核尺寸為1X1的卷積層能夠達到降低和增加輸出的維度,是因為它能夠改變輸入數據的通道數量(depth),而不改變其空間維度(height和width),原理如下。 1X1卷積在每個空間位置
前言 對標題上的這兩個項目有疑惑,不知道它們返回的資料的不同;查找資料後記錄下來,讓自己以後可以回來翻閱。 正文 numpy.ndarray.flatten:返回攤平的一維array,可參考NumPy: numpy.ndarray.flatten() function,有示意圖 te
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,對一些看似基本,但是重要且會影響到之後實作的項目概念有點疑惑,覺得應該查清楚,所以搞懂後記錄下來,寫下這篇文章(應該說是筆記?)。 正文 下面這段程式碼: model = Sequential() model.add
前言 其實摸機器學習、深度學習也有一陣子了,雖然大致上都理解,不過有些細節若不是那麼清楚,我也沒仔細去弄懂。今天剛好在《強化式學習:打造最強 AlphaZero 通用演算法》這本書看到之前略過的幾個名詞,書中有解釋其背後代表的東西的功能,在此記錄下來,以後又忘掉時可回來查看。 正文 "激活
前言 承上一篇筆記文章,繼續閱讀推薦的第二篇論文:Identity Mappings in Deep Residual Networks—Kaiming He、Xiangyu Zhang、Shaoqing Ren、Jian Sun。也是一樣的發表者,內容是對他們之前發表的Deep Residual
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,文中介紹了殘差網路,並推薦了兩篇論文;因為在看了書後,對殘差網路的概念還是不很清楚,於是決定用ChatGPT翻譯這兩篇論文來增強理解,以下正文是第一篇論文:Deep Residual Learning for Image Re
前言 在閱讀網路文章時,有看到說1X1的卷積層能夠升維、降維,不了解所以然,故來查找。:P 正文 卷積核尺寸為1X1的卷積層能夠達到降低和增加輸出的維度,是因為它能夠改變輸入數據的通道數量(depth),而不改變其空間維度(height和width),原理如下。 1X1卷積在每個空間位置
前言 對標題上的這兩個項目有疑惑,不知道它們返回的資料的不同;查找資料後記錄下來,讓自己以後可以回來翻閱。 正文 numpy.ndarray.flatten:返回攤平的一維array,可參考NumPy: numpy.ndarray.flatten() function,有示意圖 te
前言 在閱讀《強化式學習:打造最強 AlphaZero 通用演算法》時,對一些看似基本,但是重要且會影響到之後實作的項目概念有點疑惑,覺得應該查清楚,所以搞懂後記錄下來,寫下這篇文章(應該說是筆記?)。 正文 下面這段程式碼: model = Sequential() model.add
前言 其實摸機器學習、深度學習也有一陣子了,雖然大致上都理解,不過有些細節若不是那麼清楚,我也沒仔細去弄懂。今天剛好在《強化式學習:打造最強 AlphaZero 通用演算法》這本書看到之前略過的幾個名詞,書中有解釋其背後代表的東西的功能,在此記錄下來,以後又忘掉時可回來查看。 正文 "激活
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
三年前,我開始鑽研卡片盒筆記法,逐漸體會到做筆記最困難的部分,其實是看見資訊的內部連結。這種筆記方法不僅能幫助我們更好地組織資料,還能提升研究的效率和質量。 ▋理解資訊連結 卡片盒筆記法的核心在於理解和整理資訊之間的關聯性。這並非僅僅是將資訊羅列起來,而是需要將零散的資訊點連結成一個有機
Thumbnail
學術論文的段落比網路文章更為複雜。 利用筆記卡片的方式來解析學術論文能夠提煉出更具價值的知識。 此外,卡片化的學習方法可能對學術研究特別有用。
Thumbnail
入門一個新知識時,筆記卡片的構造方式十分重要。 雖然我也曾經排斥直接引用他人的段落,但摳過來的內容可以為我們提供初步的了解。 利用筆記卡片建立自己的知識架構,可助於更深入地學習。
Thumbnail
你開始使用Obsidian數位筆記了嗎? Obsidian目前已經達到一百萬次下載,十萬個Discord社群成員,一千個社群外掛的規模了! 已經有好多人都利用Obsidian管理自己的知識,更快速通往成功! 如果你是Obsidian筆記初學者,那麼你即將經歷的3個深度思考轉變! 轉變1 - 內容消化
Thumbnail
本書提供一套高效學習的方法論,幫助你在生活與職場提升自我價值 你可以學到以下幾個要點: 1. 牢記學過的東西 2. 加深理解的方法 3. 打造完整的知識體系 4.如何實踐在生活中
★心理的傷很難一眼看穿,如何在重大壓力下,仍可以保持想像力,並不是一件容易的事。理論上所涉及的深度心理學,借用精神分析的概念和經驗,對於那些不再只是「完整客體」的經驗,而是生命早年經歷生死攸關的心碎經驗下,當年焦慮和憂鬱的多重變型,至今仍如何流連忘返,並影響著疫情下的適應? ●「無助感」,字面上的意
●深度造假是一種「合成媒體」(synthetic media,又譯「合成內容」),代表媒體內容(包括圖片、影像和聲音)受到操控,或完全由人工智慧創造。AI技術讓媒體控制變得更輕鬆,也更容易了(例如Photoshop或Instagram的濾鏡功能)。
Thumbnail
关于 Notion 的使用教程,在 Notion 相关社区已经有不少精品内容。这篇文章中,无意于探讨过于高级的技术,而是为准备使用 Notion 以及 相关的 FlowUs 用户提供一个详实、全面的使用教程。 本文会不定期更新。 数字花园:Notion 优质资源汇总) 使用反思 辅助工具·软件联动
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
三年前,我開始鑽研卡片盒筆記法,逐漸體會到做筆記最困難的部分,其實是看見資訊的內部連結。這種筆記方法不僅能幫助我們更好地組織資料,還能提升研究的效率和質量。 ▋理解資訊連結 卡片盒筆記法的核心在於理解和整理資訊之間的關聯性。這並非僅僅是將資訊羅列起來,而是需要將零散的資訊點連結成一個有機
Thumbnail
學術論文的段落比網路文章更為複雜。 利用筆記卡片的方式來解析學術論文能夠提煉出更具價值的知識。 此外,卡片化的學習方法可能對學術研究特別有用。
Thumbnail
入門一個新知識時,筆記卡片的構造方式十分重要。 雖然我也曾經排斥直接引用他人的段落,但摳過來的內容可以為我們提供初步的了解。 利用筆記卡片建立自己的知識架構,可助於更深入地學習。
Thumbnail
你開始使用Obsidian數位筆記了嗎? Obsidian目前已經達到一百萬次下載,十萬個Discord社群成員,一千個社群外掛的規模了! 已經有好多人都利用Obsidian管理自己的知識,更快速通往成功! 如果你是Obsidian筆記初學者,那麼你即將經歷的3個深度思考轉變! 轉變1 - 內容消化
Thumbnail
本書提供一套高效學習的方法論,幫助你在生活與職場提升自我價值 你可以學到以下幾個要點: 1. 牢記學過的東西 2. 加深理解的方法 3. 打造完整的知識體系 4.如何實踐在生活中
★心理的傷很難一眼看穿,如何在重大壓力下,仍可以保持想像力,並不是一件容易的事。理論上所涉及的深度心理學,借用精神分析的概念和經驗,對於那些不再只是「完整客體」的經驗,而是生命早年經歷生死攸關的心碎經驗下,當年焦慮和憂鬱的多重變型,至今仍如何流連忘返,並影響著疫情下的適應? ●「無助感」,字面上的意
●深度造假是一種「合成媒體」(synthetic media,又譯「合成內容」),代表媒體內容(包括圖片、影像和聲音)受到操控,或完全由人工智慧創造。AI技術讓媒體控制變得更輕鬆,也更容易了(例如Photoshop或Instagram的濾鏡功能)。
Thumbnail
关于 Notion 的使用教程,在 Notion 相关社区已经有不少精品内容。这篇文章中,无意于探讨过于高级的技术,而是为准备使用 Notion 以及 相关的 FlowUs 用户提供一个详实、全面的使用教程。 本文会不定期更新。 数字花园:Notion 优质资源汇总) 使用反思 辅助工具·软件联动