請問圖片集是否一定要把圖片flattern之後才能帶入model去train呢?
各位專家及年薪300W的大大們好,這邊有兩個問題想請教:
Q1:請問為什麼這邊trainX都需要做一次reshape成784,我比較原始shape與reshape的大小,感覺reshape就是把原本的矩陣flattern,請問圖片集是否一定要把圖片flattern之後才能帶入model去train呢?
Q2:請問為什麼在train history裡面,一開始train data的acc都還沒有被train起來,而validation data的acc卻可以比他高了呢?
回答列表
-
2019/11/18 上午 10:38Justin Liao贊同數:0不贊同數:0留言數:0
提供一些拙見,大家可以交流交流
第一個我想是因為資料為28*28的pixel,所以在訓練模型時把每個pixel當成一個輸入值,讓模型透過神經網絡抓取pixel中的抽象關係,達成我們的預測目的。至於是不是需要flatten,應該取決於你設計模型怎麼去解讀一張圖片,如果是RGB可能就不會是28*28,但仍是需要轉換成神經網絡可讀取的形式。
第二個問題我猜是樣本隨機化過程中,剛剛好驗證資料集起始正確率就很高,或許換個樣本區間或是修改一下隨機種子,得出來的結果就會不太一樣。如果我自己看這張圖,主要會著重在訓練與驗證之間的Gap大小,起始狀態可能是網絡權重隨機化或是樣本隨機化時剛好造成這樣的結果。
一點小拙見,歡迎大家討論~
-
2019/11/19 下午 10:11張維元 (WeiYuan)贊同數:2不贊同數:0留言數:0
嗨,我是年薪沒有 300W 的助教 XD
Q1:請問為什麼這邊trainX都需要做一次reshape成784,我比較原始shape與reshape的大小,感覺reshape就是把原本的矩陣flattern,請問圖片集是否一定要把圖片flattern之後才能帶入model去train呢?
=> 因為模型背後的數學大部分是基於兩個維度的矩陣計算,所以在使用模型時必須要這麼做。
-
2019/11/22 下午 04:00張維元 (WeiYuan)贊同數:1不贊同數:0留言數:0
Q2: 請問為什麼在train history裡面,一開始train data的acc都還沒有被train起來,而validation data的acc卻可以比他高了呢?
=> 正常來說有點怪,有可能剛好你的模型對於未知的資料很強 (?) 建議可以多跑幾次觀察看看。