首頁







玄幻奇幻 都市言情 武俠仙俠 軍事歷史 網游競技 科幻靈異 二次元 收藏夾
  • 放肆文學 » 網游競技 » 重生學神有系統» 第267章 數據增廣和集成學習
  • 熱門作品最新上架全本小說閱讀紀錄

    重生學神有系統 - 第267章 數據增廣和集成學習字體大小: A+
     

    經過仔細斟酌,江寒確定了“優勝者”模型。

    隨後,他就開始考慮,如何進一步優化這個網絡的性能。

    像是網絡的主體結構、權重初始化方案、數據正則化的方法、激活函數的選擇……

    這類關鍵因素,在之前的第一輪訓練中,就已經確定了下來,無需再做調整。

    但除此之外,可以優化的地方依然不少。

    比如稍微改變一點學習率,少量增加或減少隱藏神經元的個數,微調一下Mini Batch的大小……

    這些都有可能對網絡的性能,產生微妙的影響。

    而且,每一點細微的調整,會產生什麼樣的效果,不實際訓練、測試一番,是無法預估的。

    所以接下來,江寒將“優勝者”代碼複製了100份。

    這樣一來,這個“優勝者”就擁有了100多個“雙胞胎兄弟”,或者說:分身。

    隨後,他就採用不同的方案,對這100多份代碼,逐一進行了微調。

    等到進行完第二輪訓練後,從中再次選出唯一優勝者。

    有點類似“養蠱”。

    策略已經定下了,但江寒並沒有馬上開啓第二輪訓練。

    他還打算再做一個比較重要的實驗,那就是增廣數據。

    KAGGLE 官方提供了20萬條訓練數據,理論上說,對於絕大多數機器學習模型,這個數據量已經足夠使用了。

    但誰會嫌棄數據太多呢?

    能提供的數據越多,神經網絡的學習效果就越好,訓練得越充足,性能自然也就越強。

    反正一般來說,不會變得更糟。

    所以,何樂而不爲?

    所謂數據增廣,就是在不改變圖像類別的前提下,人爲地擴充數據。

    這樣做,常常可以有效地提高模型的泛化能力。

    常用的數據增廣方式,包括水平翻轉、旋轉、縮放、平移、裁剪、顏色抖動……

    當然,也可以將多種操作組合起來,從而獲得更多的數據。

    例如,同時做小角度的旋轉和隨機尺度變換,再微調一下像素在HSV顏色空間中的飽和度、亮度、色調……

    江寒很快用Python編寫了一份代碼,對訓練數據集進行了擴充。

    原本的18萬條訓練數據,經過各種運算,足足演變出了將近200萬條數據。

    這樣,第二輪訓練終於可以開始了。

    江寒將100個“優勝者”分身依次啓動。

    隨後,他琢磨了一下,又將剛纔排名前15的模型,全都拉了過來。

    包括上次排名第一的“書呆子”、排名第三的“黑馬中等生”,以及排位在4~15名的“其他學生”。

    反正算力夠用,索性再給這些準“優秀生”一次機會,看看它們在增廣數據集上,又會有怎樣的表現。

    當然,在開啓第二輪訓練之前,第一輪訓練出來的權重數據,必須先備份一下……

    將這裏的事情全部處理利索,時間已經接近中午11點。

    江寒當下鎖門離開。

    先去接夏雨菲放學,再順便做一頓豐盛的午飯。

    除了正常的兩菜一湯,他還額外加了一道“紅燒冰島紅極參”,以慰勞自己操勞過度的大腦。

    ……

    下午和晚上,江寒沒有出門。

    主要在家看書、找資料,學習各種逆向、破解、黑客知識。

    想要繼續領悟《數字混淆技術》,比較依賴數學水平和逆向技術。

    江寒的數學水平已經很不弱了,知識儲備不比一般的數學系本科畢業生少,解決問題的能力猶有過之。

    但在逆向和黑客技術上,他距離真正的頂級高手,還有不小的差距。

    所以,江寒就決定抓緊時間,儘快補上這一課。

    學習之餘,當然有了閒暇,就遠程登錄一下服務器,關注一下神經網絡的訓練情況。

    13日清晨,第二批114個模型,全部訓練完成。

    江寒又去了一次車庫,翻閱了一下訓練記錄,並對這114個神經網絡模型,加載驗證集進行測試。

    “優勝者”的那100個分身,表現都很不錯,其中成績最好的一個,在訓練集和驗證集上的準確率,都超過了98%。

    說實話,如果不經過特別的訓練,一般的人類在這個項目上的表現,差不多也就這樣了。

    畢竟KAGGLE提供的這些數據裏,有一些筆跡實在太潦草了。

    比如,有好幾個圖片,江寒怎麼看怎麼像7,標籤上卻硬說是1,這怎麼破?

    此外,江寒還有一個令人欣喜的發現。

    使用了擴充數據集,並進行了更高強度的訓練之後,“書呆子”在訓練集上,成績再次提高了少許,識別準確率達到了驚人的99.9%;

    而且在驗證集上的表現,也有了較大幅度的提高,達到了95%的及格線。

    “黑馬中等生”和原本排名4~15的“普通學生”,這次也有了長足的進步,成績不比原本的“優勝者”差到哪裏去。

    所以說,要想提高神經網絡的性能,擴充數據規模纔是第一祕訣。

    不管是人工收集更多數據,還是用數據增廣的辦法來僞造數據……

    接下來就簡單了,只要從“優勝者”的100個分身裏,挑選出最強的一個,強化訓練一番,再稍微打磨一下,就可以提交上去了。

    接近99%的識別正確率,說高不高,說低不低。

    去年在imagenet舉辦的世界機器學習大師賽中,冠軍是KNN算法的一個變種。

    別看那種算法極其簡單,一點也不智能,但作者通過巧妙的構思,赫然將識別失誤率壓縮到了驚人的0.63%!

    但那是頂級大能們的競技場,這次KAGGLE舉辦的,只是一場業餘級別的比賽,參與的大多是民間愛好者。

    所以自己手裏的這個“最終優勝者”,多了不敢說,前三還是比較穩的。

    至於想要奪得冠軍,那就需要拼一點運氣了,除非能進一步提高在陌生數據上的準確率。

    畢竟真正的測試集,誰也沒見過,會變態到什麼程度,誰也沒法預估。

    江寒反覆分析、測試着已經訓練好的幾個模型。

    第二輪的“唯一優勝者”,以及進化後的“書呆子”、“中等生”……

    忽然,他又有了一個巧妙的發現。

    對於那些容易誤測的圖片,優勝者、書呆子、中等生……它們的判斷往往不盡相同。

    同樣一個圖片,比如數字“5”,由於書寫不規範,導致極難識別。

    有點像6,又有點像s,甚至就算將其當成0,也不會多麼違和。

    這種無法妥善處理的數據,一般的做法是當做“噪聲”,在訓練時加以排除。

    免得對網絡的訓練產生干擾,讓網絡學到錯誤的“知識”,導致“越學越懵”。

    江寒在分析這類疑難圖片時,卻忽然有了一個奇妙的發現。

    對於這樣的圖片,優勝者偶爾也會識別錯誤,但神奇的是,書呆子偶爾卻可以識別正確。

    有些圖片書呆子和優勝者都不認識,中等生或者普通學生,反而往往有獨到的見解……

    然後,這些結構不同的神經網絡,它們識別錯誤的那部分圖片,很少出現交集。

    也就是說,這些疑難圖片之中,絕大多數都會被部分“學生”正確識別。

    這就很有趣了。

    如果能把這十幾個神經網絡的識別能力結合到一起,豈不是可以進一步提高準確率?

    江寒經過仔細思考、認真分析,最後做出了一個大膽的決定。

    那就是:集成學習。



    上一頁 ←    → 下一頁

    最初進化超級神掠奪我和傲嬌空姐的荒島生活快穿逆襲:神秘boss萬古最強宗
    重生之貴女平妻超級全能系統妖斬三國無限之配角的逆襲通靈影后:重生國民女神