想來這是我博客發的第二篇非技術文章了,6年前開博的時候就給自己立下一條規矩,只談技術,不談風月。
一來覺得寫那些心情隨想、人生感悟什么的,未免有些老氣橫秋的感覺,二來是覺得寫這種文章的人未免總有一些居高臨下,假借教誨的感覺,因為文字這種東西,讀者在讀的時候只能看到文字,無法和作者當庭battle,就算實在看不下去,在留言區battle,作者也可以大可以置之不理,一副我tm經歷的比你多,你憑什么質疑我的感覺。
那為什么又要自己打臉,寫這篇文章呢。一來是因為最近確實很多讀者朋友通過博客園的渠道私信我一些問題,還有直接發到我公司郵箱討論問題。其中比較多的問題是在問網絡安全和機器學習應該看什么書之類的話題。我自己覺得自己也不算什么專業人士,為什么會有朋友問我這個問題呢?洗澡跑步的時候想了一下,大抵是因為大家看我經常在微博里裝逼,發一些什么書單推薦什么的,就形成了一種“觀察者偏差”。
我這里想對學習、看書、研究這件事發表一些我的一家之言,所謂一家之言,就是不代表客觀立場,不帶理論證明,僅僅是我自己的觀點,如果有不同意見的讀者朋友歡迎在留言區battle我,反正我也不會回復。
一、入門時候該怎么讀書
每個學科都是一個森林,一頭扎進去,肯定一開始是茫然失措的,這時候自然的想法是想要有一個map地圖,看看下一步該往哪里走。
筆者自己覺得剛開始接觸一個學科的時候,動手的時間最好要大於看書的時間(8:2),這里的動手就是寫代碼,調試,做demo,這個階段比較適合閱讀一些“xxx從入門到放棄”這類的書籍,能快速給出一個大的road map,建立一些感性認識,沒錯,就是感性認識,這個階段不要求理性的推導和理解,感性和圖像式的認識能快速建立信心,信心超級重要,能催生出繼續往下走的欲望。
幾個月后,“xxx天精通xxx”這類書已經不能滿足你了,基本上看一眼標題就知道內容要寫啥了,這類書可以拿去墊桌子。那接下來怎么辦呢?馬上拿起“xxx原理深入分析”嗎?筆者覺得不是。
當已經對一些套路有了基本的熟悉之后,就要開始養成”提問“的思維模式,所謂的”提問“就是,你看到一篇paper、看到一段代碼、遇到一個問題、看到書上某一行話。突然間腦子里蹦出幾句話:
- 這段話對嗎?為什么對呢?
- 作者太tm叼了吧,他怎么就能想出這個想法呢?我也是人,為啥我就想不出呢?
- 這段話我好像在哪看過啊,和xxx那本書上xx的定理好像說的差不多意思啊,它們之間是啥關系呢?
- ...
這種想法一旦萌生,就像你在酒吧看到一個美女一個人孤單地坐在吧台邊上一樣,你會非常地好奇,想深入了解。
接下來的事情就是,你會對這個問題進行分解,例如:
- 這塊理論涉及到哪些書呢?taobao買起來,pdf也買起來
- 這塊理論的歷史上有沒有前置理論呢?按照時間軸把整個理論脈絡都梳理出來,逐個推演
這個過程會非常痛苦,沒錯,是痛苦,但也快樂着。因為一旦按照理論的前置推導的方式來組織知識,你就發生會發現沒有一個知識是獨立存在的,朴素貝葉斯那種獨立同分布就是扯淡,生活中歐泰少見了,大部分時候,一個知識點會牽扯出另一個知識點,另一個知識點又繼續牽扯出另一個知識點,寫代碼的程序員都知道遞歸,而知識的這種遞歸,十幾層都是很正常的。
大部分時候,你從一開始提出某個問題,到開始研究,過程中偶爾都會忘記為啥會買到這本書。例如筆者研究NLP的一個具體問題,竟然過程中發現,必須要讀香濃的信息論,那是一本厚到可以砸暈你工位旁邊同事的大部頭書,其中酸甜苦辣和幸福感,只有經歷者自己才能體會了。
總結一句話就是:問題驅動的讀書,圍繞具體的理論和應用問題,展開遞歸式的研究。
二、怎么平衡最新論文和經典估計的關系
[arvix]每天都會產生出大量的優秀論文,昨天還在大放異彩的BERT,今天就有被Xnet替代的可能,緊跟科技最前沿似乎是一個非常苦難的問題。那怎么辦呢?
筆者自己的觀點是,不要讀最新論文!最多讀一讀序言或者主要思想!
因為如果將每個人的知識體系看作是一棵樹的話,那些發表出的論文都是這棵樹長出的果實,果實雖然非常可口,但是其底層的核心還是其樹干和樹根。是跟和樹干是果實背后的支撐和基礎。
如果想成為lecun,hinton,不應該去看他們在今天發表的論文,而應該學習其本科、碩士、博士早年的學習和研究過程。
再進一步,我們應該逐漸養成學科體系的思維,從最基礎的地方出發,逐步的推導和演進。
那最基礎的東西是什么呢?難道是啟蒙運動?亞里士多德?伽利略?筆者覺得那倒也不至於,具體什么東西是基礎,我覺得這取決於每個人自己的情況。
一個很簡單的判斷標准就是:如果一篇論文,你可以從最簡單的原子公式,一步步推導得到論文里的結論和答案,那這篇論文你可以讀,你的基礎目前就是夠的。反之,如果發現有一些東西看不懂,不知道怎么來的,就要想想到底是缺了什么東西,可能是概率論,可能是泛函分析,可能是集合論,也可能是優化理論。
更進一步地說,筆者認為:”世界不需要第二個hinton,世界需要一個安豬瀚“,學偶像的成果最多只能成為第二個偶像,你自己形成自己的知識體系,通過自己獨特的研究習慣和方式,才能開創出屬於你自己獨特的學派和學術應用成果。
總結一句話就是:多讀經典,少百度,少沉迷論文和最新成果。
今天就說這么說了,突然發現,不寫技術文章,寫吹牛博的文章,還挺舒服的,至少都是真情流露,不用遣詞造句。
我和同事一起維護的知乎專欄,https://zhuanlan.zhihu.com/cyber-security-data-science
如果有讀者朋友有關於網絡安全和數據分析方面的問題想要探討的話,可以私信我們,我們之后會在知乎發文章進行討論和回答。