[心得] kaggle心得分享

看板Soft_Job作者 (ot)時間6年前 (2017/07/02 09:45), 6年前編輯推噓35(35026)
留言61則, 27人參與, 最新討論串1/1
本魯今年開始"認真"學習DL, 同時發現kaggle這個好地方. 先上DL自學菜單: 1. http://speech.ee.ntu.edu.tw/~tlkagk/courses.html 2. http://cs231n.stanford.edu/ 3. https://www.google.com.tw/ 看1,2, 看不懂就3. 但其實會google就夠了. 最重要的是觀念, 昨晚po在八卦板, 這裡就不重複貼啦. (風格不符XD) Kaggle則是我的學習動力來源, 玩了幾個月有些心得跟網路上不太一樣: 1. 直接找大比賽練習 - 同樣是花時間, 不如找回饋較多的比賽, 不論是積分或獎金, 來滿足一下虛榮心, 會學得比較開心. 2. 對有興趣, 且沒有套路的比賽認真 - 咖狗比較可惜的是, 很多競賽大家的方法都一樣, 成績也擠成一團, 雖然說ensemble也是一門學問, 但還有其他更值得你花時間的地方. 3. 相信LB score - 許多人建議避免過度fit LB, 否則容易造成overfitting. 我想除非是藉由調整無關緊要的參數來取得更好的LB score, 或是public/private不是random或sample太少, 否則大部分的情況是不用擔心的. 有些kaggler會建議找出與LB結果接近的CV set來使用, 有人說這不過是另一種型式的fit LB. 關於數海獅競賽: https://www.kaggle.com/c/noaa-fisheries-steller-sea-lion-population-count 題目是計算圖片中各型別海獅(分公母大小, 5類)的數量. 既然是數數題, 我就這樣解: (DL第一課: neural network is a black box) Input(切成小片的圖片) -> [黑盒子] -> output(小圖片中海獅各型別的數量) 黑盒子: VGG16 w/o top + FC*1024 + FC*5(linear, 輸出五種海獅的數量) 最後就是用撒尿牛丸(Fit LB)搞定scale問題: 自從吃了outrunner的撒尿牛丸後考試都考一百分 ~by 5th team 我吃了以後明顯的高了 ~by 4th team 5th還強烈建議2nd吃吃看, 我覺得這是這次比賽最有趣的地方. 至於入門第一場分魚種的比賽, 我是用SSD, 成績出乎意料. 因為一直到比賽結束一個月後我才把SSD看完, 想到Keras貓狗範例中有提到: In fact, in the Kaggle competition, this model would have scored in the top 100 (out of 215 entrants). I guess that at least 115 entrants weren't using deep learning. 最後附上profile: https://www.kaggle.com/outrunner -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.206.20 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1498959912.A.6C5.html

07/02 10:14, , 1F
記得魚的data沒有給bbox,請問你怎麼train SSD的?
07/02 10:14, 1F

07/02 10:17, , 2F
好心kaggler提供, 這次數海獅也有人發起.
07/02 10:17, 2F

07/02 11:03, , 3F
大家一起label嗎XD
07/02 11:03, 3F
各自做label的人(手動/半自動)還不少, 有些人會分享. 這次是資料量太大.

07/02 11:19, , 4F
07/02 11:19, 4F

07/02 11:24, , 5F
好強, 恭喜! 大大是剛接觸ML就拿這樣的成績嗎XD
07/02 11:24, 5F

07/02 11:45, , 6F
ML學了15年吧, 剛接觸DL.
07/02 11:45, 6F

07/02 11:46, , 7F
感謝分享~
07/02 11:46, 7F

07/02 11:58, , 8F
路過推
07/02 11:58, 8F

07/02 11:58, , 9F
數海獅有意思
07/02 11:58, 9F

07/02 11:58, , 10F
07/02 11:58, 10F

07/02 12:30, , 11F
請問大大 玩Kaggle都是租Server還是本機做運算?
07/02 12:30, 11F

07/02 12:33, , 12F
本機. 上次估狗的比賽有免費server, 很複雜我不會用.QQ
07/02 12:33, 12F

07/02 12:36, , 13F
以前有玩過 但本機CPU I5第二代+16G RAM 好慢...好奇大大
07/02 12:36, 13F

07/02 12:36, , 14F
的配備 能分享嗎?
07/02 12:36, 14F
分魚類的時候, 我只用一台爛爛的nb, 不過後來a到一張gtx 1080, 以數海獅的資料量來說, 沒GPU還真的玩不動. 建議至少弄張有4GB ram的顯卡來玩. 我還蠻好奇租server的花費跟本機比起來差多少?

07/02 12:44, , 15F
推fast ai的課程
07/02 12:44, 15F
看起來很讚, 跟推.

07/02 13:38, , 16F
大大超猛 我還假會用Faster RCNN解線型就可解的問題
07/02 13:38, 16F

07/02 13:45, , 17F
Train with Gcloud Titan 30 NT/hr
07/02 13:45, 17F
感謝. 用Faster RCNN就值得尊敬啦XD. 此外, YOLO作者在deadline後說他不小心錯過了, 雖然他沒說要用什麼方式做. 還是感到有點遺憾.

07/02 13:48, , 18F
感謝分享! 原來有用GPU! 有錢也來搞一張玩
07/02 13:48, 18F

07/02 14:30, , 19F
目前1060是張很好的入門卡,CPU/SSD有閒錢再升級
07/02 14:30, 19F

07/02 14:31, , 20F
server是完全不推薦,除非你只想玩一個禮拜嘗鮮XD
07/02 14:31, 20F

07/02 15:00, , 21F
蠻好奇這是大大的工作內容之一嗎
07/02 15:00, 21F

07/02 15:01, , 22F
還是純興趣, 純興趣光靠下班時間真的強
07/02 15:01, 22F

07/02 15:02, , 23F
ML學了15年 大大公司能透露一二嗎
07/02 15:02, 23F
抱歉容我保留一下. ML是當年念書的時候有學過. 其實不記得那時候有這個詞. 就是PR, NN之類都學過, 然後工作也大多沒有相關性. 這次就是DL紅了, 大家跟風, 我也跟風.

07/02 15:26, , 24F
是唸 K狗,不是咖狗。
07/02 15:26, 24F

07/02 16:11, , 25F
.....這世界上只有一種英語發音嗎?
07/02 16:11, 25F

07/02 16:31, , 26F
也是啦,你知道是在說什麼就好。
07/02 16:31, 26F

07/02 16:43, , 27F
可以請教使用的OS環境嗎 最近也在考慮買張顯卡
07/02 16:43, 27F

07/02 16:43, , 28F
可是不太想用windows去跑
07/02 16:43, 28F
OS不是問題. 我用windows, 當然linux也ok.

07/02 18:14, , 29F
其實我最近看大大也有在玩Planet...Rank 29超猛
07/02 18:14, 29F

07/02 18:16, , 30F
對了 你是怎麼決定最後flatten要用1024個neurons?
07/02 18:16, 30F
就只是覺得夠了這樣...後來試過多了也沒用.

07/02 20:18, , 31F
厲害推
07/02 20:18, 31F

07/02 20:18, , 32F
有github或是kernel可以參考嗎?謝謝
07/02 20:18, 32F
關於我做法的討論串: https://goo.gl/ytpfLW (很破的英文) 裡面第一個link是kernel.

07/02 22:48, , 33F
最重要的應該是先幹到GPU 沒有GPU根本半殘
07/02 22:48, 33F

07/02 23:16, , 34F
你好屌 第二名看不到你的車尾燈 遠遠領先大家
07/02 23:16, 34F

07/02 23:17, , 35F
看來你目前的工作應該不錯 能力超強
07/02 23:17, 35F

07/02 23:18, , 36F
而且你public 跟 privater幾乎一樣 代表你模型超好
07/02 23:18, 36F

07/02 23:21, , 37F
想問你顯卡RAM會不會不夠用??這DATA超大耶
07/02 23:21, 37F
顯卡ram主要跟model及batch size有關, 當然是多多益善啦. 但我為了彈性會雙開. 所以這次一個process只用不到4GB. (1080有8G)

07/02 23:24, , 38F
目前Kaggle上總排名第一的 組隊還輸給你
07/02 23:24, 38F

07/02 23:35, , 39F
真神人! 第12名那隊三個都是Grandmaster 超猛的@@
07/02 23:35, 39F

07/02 23:36, , 40F
好厲害~感謝分享
07/02 23:36, 40F

07/03 03:51, , 41F
推。也想下班自己研究玩但是好難可以問你嗎
07/03 03:51, 41F
歡迎, 不過目前我比較有心得的就是數海獅...

07/03 10:49, , 42F
推神人 我自己嘗試都只能在2.30%左右
07/03 10:49, 42F

07/03 11:32, , 43F
07/03 11:32, 43F

07/03 13:56, , 44F
計算機視覺要怎麼入門啊 看有些人都直接用陣列操作圖片
07/03 13:56, 44F

07/03 13:56, , 45F
不知道他們是怎麼想到用這方式處理圖片的
07/03 13:56, 45F

07/03 14:24, , 46F
樓上, 陣列可以代表一個圖片, 假如這個圖片是10x10的
07/03 14:24, 46F

07/03 14:25, , 47F
大小, 那這個矩陣就是10x10x3大, 因為一個點可以用
07/03 14:25, 47F

07/03 14:26, , 48F
RBG(綠色藍色紅色代替) 所以每個點有三個數值
07/03 14:26, 48F

07/03 14:27, , 49F
已經流行一陣子的Convolutional Networks是找物體
07/03 14:27, 49F

07/03 14:28, , 50F
的邊邊角角拼湊成一張大物體
07/03 14:28, 50F

07/03 14:29, , 51F
可以去看一下Stanford CS291入門
07/03 14:29, 51F

07/03 14:41, , 52F
說錯, 231N入門
07/03 14:41, 52F

07/03 15:53, , 53F
感謝樓上 我有找到影片了
07/03 15:53, 53F

07/03 18:29, , 54F
台大李宏毅教授的開放式課程很不錯
07/03 18:29, 54F

07/04 10:59, , 55F
以上都在文章的連結裡喔…也可於youtube搜尋
07/04 10:59, 55F

07/04 19:23, , 56F
分魚的那場data太爛 只要把sample submission上傳就
07/04 19:23, 56F

07/04 19:23, , 57F
銀牌了
07/04 19:23, 57F
哈, 還好我有贏sample submission

07/06 06:13, , 58F
fit LB是指post processing乘1.3那個步驟嗎?
07/06 06:13, 58F
嚴格來說從test image縮圖開始就算啦. 幾乎所有人都縮了一半以上(vs. training set) 為了輸出更多的未成年海獅有兩個做法: (1) 縮圖 (2) 事後補償 第二名的複雜regressor我猜多少有一點(2)的成分在. 另外我猜(1)做過頭(做到最佳解, 平均大小會比訓練集小), 再做(2)也沒用.

07/07 00:11, , 59F
原來如此 感謝!
07/07 00:11, 59F
※ 編輯: outrunner (114.42.219.184), 07/07/2017 16:46:28

07/07 19:18, , 60F
Cong!
07/07 19:18, 60F

07/08 17:43, , 61F
恭喜前輩~~
07/08 17:43, 61F
文章代碼(AID): #1PM50eR5 (Soft_Job)