先說結論:需要自己搭建網路

理解網路是必要的,而且理解的領域越多越好,分類、檢測、分割、ReID等等,各個領域的方法相互啟發,對於深度學習是很有幫助的

但是前提是,你必須對深度學習神經網路有一個直觀的認識。而獲取這種直觀認識的最好方式就是自己一層一層的搭網路

記得我那會剛學深度學習的時候,一開始也是先看論文,覺得這個好厲害那個好厲害。後來看論文源碼自己造輪子的時候,才發現有些論文裡面大吹特吹的點,可能就短短几行,不是多麼複雜的東西。看了寫了代碼之後,才能體會到深度學習並不是那麼複雜那麼高大上的東西,慢慢的對深度學習就有了直觀的認識,學習其他東西也快了

建議題主先選定一個框架(推薦pytorch),參考開源代碼,從零開始造輪子,儘力去復現論文的精度。這個過程題主會收穫代碼工程能力,對論文有更全面的理解,更重要的是深度學習不再神祕

BTW,在復現的過程中,可能會發現很多含糊不清的地方,或者會有一些idea,能發篇paper也不一定。祝好


如果有創新性的想法,就需要自己搭建神經網路結構,來實現一些以前沒有的功能。

尤其是神經網路與經典信號分析方法的結合,有希望進一步提高神經網路的性能。

例如,如果數據含有大量雜訊,這時候可以在神經網路中加入軟閾值化,就像殘差收縮網路,這樣可以在一定程度上減輕雜訊的影響。


1.先搞懂原理

2.再跑通已有的代碼

3.自己把已有的代碼抄一遍,抄到不懂的地方去查文檔(推薦查官方文檔)。

4.改動一下已有代碼的網路結構、嘗試實現自己的想法,搭建自己的模型

初學者建議入手pytorch,搭建網路很方便(相見恨晚),tensorflow學習曲線有點陡。 學pytorch看官方網站的教程就可以,然後去github找star最多的那個項目抄一遍基礎模型的代碼就基本熟悉pytorch了。

另外如果剛接觸深度學習,推薦看吳恩達的深度學習課程,網易雲課堂上可以免費看,課後作業跟著做一下,github上面有。


學習過程中肯定要知道如何自己搭建神經網路的,即使用預訓練模型,也會有自己修改網路結構的時候。


實現一個網路,觀察它的實驗現象,能極大地加深你對他的認識和理解。在實驗過程中,忽略任何一個細節都可能會導致得不到論文中的結果。這些細節往往很重要,但讀論文時卻容易被忽略。但也不是每看一篇都要復現。重要的感興趣的論文優先。


推薦閱讀:
相關文章