
從“價(jià)值、必要、討論和工具”這四個角度,把一些容易踩的坑提示給你,助你順利完成研究論文撰寫。
挫折
我的一個三年級研究生,最近比較焦慮。
焦慮的原因,是預(yù)答辯的效果不理想。
最重要的原因,你肯定能猜到,是他拖延癥犯了。不到最后一刻,也不肯交出初稿,說要繼續(xù)修改(其實(shí)是一直沒寫完)。最后一行字剛落筆,就直接去預(yù)答辯了。裝備都沒配齊全,就沖入了槍林彈雨的戰(zhàn)場,后果可想而知。
但是,他的焦慮,目前主要來自于另外一個方面,就是面對批評意見,一時(shí)有些懵。
我在文中不止一次描述過這種“文科生”——沒有IT技術(shù)背景,本科專業(yè)屬于文科類,碩士畢業(yè)論文用技術(shù)手段解決應(yīng)用問題。
他的研究中,就使用了機(jī)器學(xué)習(xí)中的監(jiān)督式方法,對社交媒體文本是否包含隱私內(nèi)容,進(jìn)行了分類訓(xùn)練。在驗(yàn)證集上,準(zhǔn)確率和F1分?jǐn)?shù),都為60%多。
這幾年,他在我的鼓勵下,不斷學(xué)習(xí)數(shù)據(jù)科學(xué)相關(guān)教程。
他看到了自己的進(jìn)步,信心越來越強(qiáng)。從前認(rèn)為永遠(yuǎn)無法企及的機(jī)器學(xué)習(xí)方法,現(xiàn)在會用了;從前面對數(shù)據(jù)無從下手,想不到解決思路,現(xiàn)在水到渠成。而且因?yàn)閷W(xué)習(xí)MOOC,英文和數(shù)學(xué)能力也有了提升。所以,預(yù)答辯之前,他對自己論文的評價(jià)預(yù)期很高。
他沒有想到,自己的論文居然存在這么多的嚴(yán)重問題。一時(shí)感到很是沮喪和挫折。
我把老師們給他提出的意見,在這里列出來:
- 你使用了機(jī)器學(xué)習(xí)的方法,但只是調(diào)用了已經(jīng)標(biāo)準(zhǔn)化的工具(scikit-learn)而已。文中對工具本身和使用方法做了過于細(xì)致的描述,卻并沒有體現(xiàn)出自己的技術(shù)改進(jìn);
- 你對機(jī)器學(xué)習(xí)的使用,滿足于做出一個分類的結(jié)果,就如同做了一個項(xiàng)目作業(yè)一樣,缺乏深入的討論;
- 你的分類效果,只有60%多的準(zhǔn)確率,遠(yuǎn)不及人工水平。這樣的結(jié)果,是否有價(jià)值?
- 你的流程參考了一篇英文文獻(xiàn)對Twitter文本的隱私分類。人家已經(jīng)探索了,在英文文本上自然語言處理可以分類隱私曝露程度。那你這份研究,無非是從英文換成了中文而已,是否還有必要性?
老師們的說法,是委婉而克制的。我翻譯了一下,就是說這篇論文“工具化、缺討論、無價(jià)值、沒必要”。
現(xiàn)在,你明白為什么他要焦慮了吧?
這樣下去,連畢業(yè)都堪憂。
對于拖延,他很愧疚。給我寫了一份長長的檢查,讀來還算實(shí)事求是。
亡羊補(bǔ)牢,為時(shí)未晚。
我于是幫他分析了目前存在的問題,以及對應(yīng)的修改策略。下文我會一并分享給你。
你可能會奇怪——老師,這東西針對你學(xué)生問題寫的,為什么要分享出來呢?
因?yàn)樽詮奈议_始在網(wǎng)上寫數(shù)據(jù)科學(xué)教程以來,收獲了許多讀者的反饋。從這些反饋中,我看到了來自許多專業(yè)的同學(xué),特別是那些“文科生”,都在努力掌握機(jī)器學(xué)習(xí)方法,并且應(yīng)用到自己的研究,甚至是畢業(yè)論文中。
而與此同時(shí),從指導(dǎo)研究生,參加開題答辯、學(xué)術(shù)論壇,以及給期刊審稿的過程里,我也發(fā)現(xiàn),許多這樣應(yīng)用了數(shù)據(jù)科學(xué),特別是機(jī)器學(xué)習(xí)方法的研究,做出來的結(jié)果,也多會存在同類問題,讓人有類似的質(zhì)疑。
很多時(shí)候,問題并非來自于研究本身缺乏價(jià)值。而在于作者在寫作的過程中,抓不住重點(diǎn),不知道應(yīng)該著重匯報(bào)和討論哪些東西,導(dǎo)致了很多的誤解。
如果你也有計(jì)劃,把機(jī)器學(xué)習(xí)應(yīng)用在自己的研究論文里,我覺得后面的內(nèi)容,可能會對你有幫助。
下面針對他論文里面存在的問題,我分別談以下4個方面:
- 價(jià)值
- 必要
- 討論
- 工具
細(xì)心的你,一定注意到了,咱們這里的內(nèi)容,和老師們提出問題是相呼應(yīng)的,但是順序并不一致。
為什么呢?
希望讀完全文之后,你能自己體悟到這個順序的意義。
價(jià)值
咱們先說說價(jià)值。
研究價(jià)值,是一篇論文的靈魂。文字寫得再精妙,如果沒有研究價(jià)值,也不值得做。
更為詳細(xì)的論述,請你參考我那篇《什么樣的開題報(bào)告會被斃掉?》。
這里涉及到一個具體的價(jià)值評判標(biāo)準(zhǔn)問題:如果機(jī)器分類效果,比不上人工水平,那么值不值得做?
直覺會第一時(shí)間告訴你——不值得?。〖热蝗丝梢宰龅酶?,就讓人做唄。只有機(jī)器性能超越了人類,研究成果才值得發(fā)表嘛!
但是,仔細(xì)想想看,這種論斷,不僅和學(xué)術(shù)界的共識不同,也違背你的常識。
你叫來一個人,讓他分辨一張照片是貓還是狗。他會覺得小菜一碟,準(zhǔn)確率也會很高。
反之,你讓機(jī)器來判別貓和狗。即便是目前最尖端的計(jì)算機(jī)視覺技術(shù),也會出現(xiàn)在人類看來,非常顯而易見的疏漏。
你可能會因此對機(jī)器的“智能”嗤之以鼻。
且慢。
剛才的情境,只是去分辨一張照片。對吧?
十張八張呢?似乎也沒問題啊。
可假如,你讓這個人分辨一千萬張照片呢?
他扭頭就跑了,對不對?
因?yàn)檫@個任務(wù),不僅繁重,而且枯燥,機(jī)會成本太高。
有做這件事的時(shí)間,他可以做很多更有意義和趣味的活動。
機(jī)器的好處,這時(shí)候就體現(xiàn)出來了。它任勞任怨,不知疲憊,運(yùn)算速度還快??梢詭臀覀冊诤芏痰臅r(shí)間內(nèi),完成成千上萬張照片的分辨結(jié)果。
你說分析這么多張照片,真的有用嗎?
當(dāng)然有。往遠(yuǎn)了說,你可以看看電影《少數(shù)派報(bào)告》,了解一下大規(guī)模圖片分析的前景。往近了說,你可以回顧一下新聞,看看那些過馬路闖紅燈的行人,是如何立即連同個人信息,被展示在大屏幕上的。
這就是人和機(jī)器的區(qū)別。我們懶,我們喜歡精彩,不喜歡重復(fù)。發(fā)明機(jī)器,讓它們替我們做自己不愿意從事的工作。哪怕機(jī)器做的,不如自己做得好,我們也能忍受。或者說,也得選擇忍受。
你現(xiàn)在做的這個研究,是通過機(jī)器學(xué)習(xí)的方法,來輔助用戶判斷,他即將發(fā)布的信息是否包含隱私,并且進(jìn)行提醒,防患于未然。
一個主流社交媒體平臺,每天要有多少人發(fā)信息?每一條信息都讓人來幫你判斷是否包含隱私,來得及嗎?靠譜嗎?誰又能來支付這么龐大的成本?
而且,你立即想到了一個更大的不妥吧。
對,你要發(fā)布的內(nèi)容,如果包含了隱私,卻已經(jīng)被平臺雇傭的審核人員一覽無余,預(yù)先看了去。那還何談隱私保護(hù)呢?
所以你看,這個任務(wù),交給計(jì)算機(jī)來做,比交給人來做,靠譜許多。
因此,在你的研究中,把分類效果與人工水準(zhǔn)進(jìn)行對比,沒有必要,也沒有道理。
但是人工分類水準(zhǔn)卻不可不提,它應(yīng)該出現(xiàn)在你的數(shù)據(jù)標(biāo)注環(huán)節(jié)。
監(jiān)督學(xué)習(xí)是需要訓(xùn)練數(shù)據(jù)的,即數(shù)據(jù)要有標(biāo)簽。這些標(biāo)簽,是人打上去的。人標(biāo)注的準(zhǔn)確率,直接關(guān)系到你的數(shù)據(jù)質(zhì)量。馬虎不得。
你訓(xùn)練的模型,分類效果如果不跟人比,那跟誰比呢?
跟別人的模型比嗎?
要對比別人的模型,前提有兩個:
- 別人的模型已存在
- 你的模型效果優(yōu)于別人的
假設(shè)別人的模型,準(zhǔn)確率做到了70%,那么你即便做到69%,也別寫了。因?yàn)?strong>沒有價(jià)值。
但是,每一個學(xué)科領(lǐng)域,甚至是具體的研究問題,如果要應(yīng)用機(jī)器學(xué)習(xí)監(jiān)督分類,都會有第一篇文獻(xiàn),對吧?這可算作是探索性研究。
這樣的研究,該跟誰去比呢?
通例是,跟一個空模型(null model)去對比。
什么是空模型?
還記得許多教科書里面,告訴你對數(shù)據(jù)要做平衡分類嗎?就是二元分類任務(wù),訓(xùn)練集和測試集里面,都是50%貓,50%狗。
你可能一直約定俗成也這樣做。但是為什么?
現(xiàn)在原因就呼之欲出了。
這么做,你可以很容易構(gòu)造空模型。
所謂空模型,就是在貓狗分類中,不分青紅皂白,也不去分析圖片特征,把所有的樣本都猜測成“貓”(或者全都猜成“狗”)。這就是一本正經(jīng)地亂猜。
想想看,這樣的空模型,準(zhǔn)確率是多少?
當(dāng)然一定是50%了。不會更高,卻也不會更低。穩(wěn)定得很啊。這個數(shù)值,也稱作隨機(jī)基線準(zhǔn)確率(Random Baseline Accuracy)。
好了,你就跟它比。
只要比空模型好,就意味著你的模型存在意義,因?yàn)榭雌饋?,它從樣本的特征?strong>把握到了有用的信息,比瞎猜強(qiáng)。
注意,這里你要通過完整的規(guī)范論述流程,排除隨機(jī)性的影響。后文會有詳細(xì)說明。
看到?jīng)]有,只要你的模型,是這個細(xì)分領(lǐng)域中的第一個,那你就不需要跟別人的模型,錙銖毫厘去爭短長。
這也是為什么,我一直對你的拖延癥有意見。
科研活動不是一次散步,可以讓你從容游覽把玩。它是一場賽跑。跑到第一個,你只需要跟空模型比。你的研究,會被賦予開創(chuàng)性、探索性的標(biāo)簽。而且很有可能,因?yàn)檫@種先發(fā)優(yōu)勢,被后續(xù)許多研究引用,讓你獲得與自己的實(shí)際投入并不相稱的學(xué)術(shù)聲譽(yù)。這是典型的“低垂果實(shí)”,也叫做“甜買賣”。
而一旦跑慢了,成了第二名進(jìn)入者。那不好意思,你就只能淪落到和別人去比了。如果你研究的,是一個很有價(jià)值的問題,那即便你拼盡全力,讓自己的結(jié)果短暫領(lǐng)先。人們也幾乎可以斷言,你很快就會被后來者超越和淹沒。而且這些后來者會不會記得引用你的成果?難說。
你做的到底是開創(chuàng)性,還是探索性研究?
這個問題,只有你自己才能回答。因?yàn)槟阆到y(tǒng)梳理過文獻(xiàn)啊。在中文社交媒體文本上進(jìn)行隱私分類,別人做過了嗎?
你當(dāng)時(shí)告訴我說,沒有。
我相信你,認(rèn)為你說的是事實(shí)。
然而,我必須提醒你注意,事實(shí)是在不斷變化的。
一年前,你開題的時(shí)候,沒人做;并不代表一年后的今天,也沒人做。所以,你得不斷跟蹤研究進(jìn)展。萬一很不妙,因?yàn)槟闶致呀?jīng)有人做了。那你的研究,就不是探索性研究了。和空模型對比,就不再合適。你必須轉(zhuǎn)而正面迎戰(zhàn),和別人的結(jié)果去對比。想盡一切辦法提升模型效果,形成競爭優(yōu)勢。
如果遇到這種情況,你大概會嘆息自己的運(yùn)氣糟糕。但是,那也是沒有辦法的事。誰讓你拖延呢?你不該做的,是“選擇性失明”,假裝視而不見。要知道掩耳盜鈴,可是大錯特錯,直接會影響別人對你學(xué)術(shù)品德的判斷。
必要
因?yàn)楸慌u后信心不足,于是你開始懷疑自己。你說雖然自己做的是中文文本隱私分類,之前文獻(xiàn)回顧中,沒見到有人做。但是英文文本隱私分類不僅有人做過,而且你還參考了人家的流程步驟。那么自己的研究是否有必要性?
如果你在這一點(diǎn)上,質(zhì)疑自己的研究,我只能說,你對機(jī)器學(xué)習(xí)的本質(zhì),還沒有充分領(lǐng)悟。你對數(shù)據(jù)分類的理解,還停留在 software 1.0 階段。
什么叫做 software 1.0 ?這是 Andrej Karpathy 提出的概念。
解決一個問題,software 1.0的手段,是人來設(shè)計(jì)算法,機(jī)器照章執(zhí)行。
所以,它即便再高妙,也不可能超越人的思維局限。它的復(fù)雜度,也就到那兒了。
例如前幾天有個刷屏的游戲,據(jù)說是中文系畢業(yè)的人做的。因?yàn)槌绦騿T跑路,這位仁兄不得不親自上陣。因?yàn)槿狈λ惴ɑA(chǔ)知識,所以他自己手寫了幾十萬個 if 語句。這樣居然還沒有 bug !聽起來非常勵志。
勵志歸勵志,但是所有 software 1.0 程序的復(fù)雜度,和基于機(jī)器學(xué)習(xí)的 software 2.0 一比,差距高下立判。

software 2.0的定義,是以不斷積累的數(shù)據(jù)作為約束,在算法空間搜尋,利用優(yōu)化器,自動構(gòu)建軟件模型。
這么說有些抽象,給你舉個例子。
曾經(jīng),人造出來的下棋程序,根本打不過人類頂尖高手。
然而,一旦用上了機(jī)器學(xué)習(xí),圍棋大師也只好黯然神傷。
因?yàn)闄C(jī)器是自己從數(shù)據(jù)中嘗試挖掘規(guī)律,自己構(gòu)造模型。這樣,它可以通過大規(guī)模增長見識,迅速提升表現(xiàn),甚至是超越人類。因?yàn)椤叭藶樵O(shè)定算法”這個玻璃天花板,已經(jīng)被悄悄移除了。
因此,對于機(jī)器學(xué)習(xí)來說,你用的模型越復(fù)雜,就越需要高質(zhì)量、大規(guī)模的數(shù)據(jù)支持。
聽明白我在說什么了吧?
數(shù)據(jù)的地位,空前提高。特別是那些大規(guī)模標(biāo)注數(shù)據(jù)。
你做這個研究的時(shí)候,有現(xiàn)成數(shù)據(jù)嗎?
沒有吧。
雖然社交媒體的數(shù)據(jù),可以通過爬蟲來便捷獲取。但是對這些數(shù)據(jù)的分類標(biāo)注,才是重點(diǎn)。
你組織人力,付出時(shí)間和經(jīng)濟(jì)成本,才獲取了有標(biāo)注的數(shù)據(jù)集合。這個過程中,你實(shí)際上已經(jīng)解決了很多問題。
例如說,怎么把數(shù)據(jù)標(biāo)注樣本進(jìn)行拆分,讓若干標(biāo)注者有序并行工作?怎么把任務(wù)描述得清晰無歧義,讓個體的標(biāo)注具備穩(wěn)定性和一致性?標(biāo)注結(jié)果該如何取信,如何評估,如何驗(yàn)證?什么才算做足夠多的數(shù)據(jù)?……
對機(jī)器學(xué)習(xí)來說,如此重要的環(huán)節(jié)和內(nèi)容,被你一筆帶過。仿佛你用的,不過又是一個別人早已采集、清理和發(fā)布的公共數(shù)據(jù)集而已。因此,讀者誤解你的實(shí)際工作,把全部注意力,放到你模型的準(zhǔn)確率評判上面。
你這么寫論文,就叫做暴殄天物。
要知道,現(xiàn)在有的期刊,已經(jīng)可以刊載“數(shù)據(jù)論文”了。你構(gòu)造了一個好的數(shù)據(jù)集,本身就可以看做科研成果。是可以跟研究論文獲得同等貢獻(xiàn)對待,也是可以被引用的。

例如上圖這篇論文中,3位作者利用 Zalando 圖像數(shù)據(jù)庫,構(gòu)建了一個機(jī)器視覺分類的數(shù)據(jù)集 Fashion-MNIST,并公開發(fā)布。論文發(fā)表1年,已經(jīng)被引用了154次。

另外,你真的只是構(gòu)建了一個數(shù)據(jù)集而已嗎?
然后,你就拿著那篇英文文獻(xiàn)的方法,開心地套用到這個中文文本數(shù)據(jù)集了?
開玩笑!
你不用分詞嗎?你不需要構(gòu)建和迭代停用詞表嗎?你不需要選擇模型結(jié)構(gòu)嗎?
該重點(diǎn)寫的,研究里面的獨(dú)特內(nèi)容和實(shí)際工作,你都不好好寫。不該寫的,你反倒寫了個不亦樂乎。說你不會討論,不冤枉吧?
討論
我之前為你寫的教程,很多都會結(jié)束在“做出結(jié)果”。我給你推薦的 Coursera 平臺的 MOOC 里面,項(xiàng)目作業(yè)也只會要求到這一步。
這沒有錯啊。教程的目的,是讓你會用方法和工具。
但是不要忘了,你現(xiàn)在撰寫的,不是教程,也不是作業(yè),而是論文。
什么是論文?
它是你和學(xué)術(shù)共同體溝通的信息單元,反映的是你做的研究。寫作的目的,是讓他人相信和接受你的研究。
論文要被別人接受和采信,得靠能自圓其說。
你提出了一個問題,找到了數(shù)據(jù),應(yīng)用了方法,做出了結(jié)果。但是結(jié)果本身,是不是能夠讓人信服,說你解決了問題呢?
這可不一定。即便你的結(jié)果很顯著,也不一定。做到這一步,只能叫做演示。
因?yàn)檫@個世界上,存在著一種叫做小概率事件的東西。中彩票頭獎概率很低,但時(shí)常也有人會中。俗話說得好,誰家過年不吃頓餃子?
所以你寫論文的時(shí)候,腦子中時(shí)刻要有一根弦兒,就是得說服別人,你的模型達(dá)到這種效果,不是巧合。
查科同學(xué)前幾天在咱們團(tuán)隊(duì)群里,分享了一篇自然語言處理最新進(jìn)展的論文。我希望你認(rèn)真讀一下,看看該文的作者,是如何討論結(jié)果的。
僅從結(jié)果來看,模型效果已經(jīng)是非常顯著了。因?yàn)榘凑毡砀裰袛?shù)據(jù)對比,這種模型,已經(jīng)超越了人工水平。
然而,你會看到作者是在非常認(rèn)真細(xì)致地討論這種結(jié)果取得的途徑。他嘗試了各種排列組合,在多個數(shù)據(jù)集上進(jìn)行了對比……最終,讀者會被說服,這個模型確實(shí)由于設(shè)計(jì)的精妙,達(dá)到了目前最高水準(zhǔn)(state of the art)。
別誤會,我不是讓你照搬該論文的討論流程和敘述方式。因?yàn)槿思揖褪窃诟鷦e人的模型比;而你,是在跟空模型比較。
而你做出來結(jié)果之后,其實(shí)是在亂比較。居然用隨機(jī)森林和決策樹模型,對比效果。
你討論的重點(diǎn)該是什么呢?并不是你的模型最優(yōu)(不論是決策樹,還是隨機(jī)森林這模型,都不是你提出的),或者你的工具最好(scikit-learn的研發(fā)你也沒有參與),而是機(jī)器學(xué)習(xí)方法,適合于解決中文文本隱私分類問題。
你不覺得很奇怪嗎?隨機(jī)森林模型的效果,在大多數(shù)情形下,就應(yīng)該優(yōu)于決策樹模型。那在咱們討論分類模型選擇的時(shí)候,為什么二者都保留了下來呢?
因?yàn)槟悴粦?yīng)滿足于演示模型分類效果優(yōu)于空模型,關(guān)鍵是說服讀者,這種優(yōu)勢不是隨機(jī)獲得的。
怎么辦呢?
我在《如何有效溝通你的機(jī)器學(xué)習(xí)結(jié)果?》一文中給你講過,可視化是一種非常好的結(jié)果溝通手段。而在《貸還是不貸:如何用Python和機(jī)器學(xué)習(xí)幫你決策?》一文中,我曾經(jīng)給你展示過,決策樹模型的一大優(yōu)勢,就是可以做出這樣的可視化圖形:

想想看,你用的方法,是基于關(guān)鍵詞的特征。那么如果能夠描繪決策判斷過程中,哪些詞會導(dǎo)向隱私分類結(jié)果,哪些詞能導(dǎo)向非隱私分類結(jié)果,是不是就可以幫助讀者了解,你的模型是否真正抓住了自然語言中蘊(yùn)含的信息表征(representation)?
另外,演示了一個決策樹可視化圖形,你又覺得完事大吉,不知道后面該討論什么了?
注意,模型自身算法并不重要。重要的是,它是怎么被訓(xùn)練出來的。
莫非你對于每個分類模型,都滿足于直接調(diào)用默認(rèn)參數(shù)了?
有沒有進(jìn)行超參數(shù)(hyper parameter)的調(diào)整?
有沒有遇到過擬合(over-fitting)或者欠擬合的(under-fitting)問題?你是如何處理的?
有沒有繼續(xù)采集更多數(shù)據(jù)?有沒有嘗試更換不同模型結(jié)構(gòu)?
優(yōu)化器(optimizer)你是如何選取的,為什么?
學(xué)習(xí)速率(learning rate)你是怎么設(shè)定的?會不會導(dǎo)致模型學(xué)習(xí)太慢?或是難以收斂?亦或陷落到局部最優(yōu)中,難以自拔?
你在特征工程(feature engineering)上做了哪些努力?要知道,你做的并不是深度學(xué)習(xí),所以特征的有效提取和轉(zhuǎn)化,是非常必要的。

如果你把上圖的例子都忘了,請務(wù)必復(fù)習(xí)回顧我在《如何用機(jī)器學(xué)習(xí)處理二元分類任務(wù)?》為你做的詳細(xì)解讀和說明。
工具
雖然我一直鼓勵你學(xué)習(xí)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)這樣的方法,用好 Keras 和 scikit-learn這樣的優(yōu)秀框架工具。但是你真的不應(yīng)該因?yàn)檎莆樟怂鼈?,而沾沾自喜?,F(xiàn)在看你的論文,就彌散著這種味道。似乎你會用機(jī)器學(xué)習(xí),所以很了不起。
這種驕傲的態(tài)度,也會讓讀者和評閱專家反感。
說句讓你不那么開心的話——你能夠如此快速地掌握和應(yīng)用這些前沿技術(shù),主要是因?yàn)殚T檻越來越低。
以圖像處理為例。2012年以前,如果你要讓計(jì)算機(jī)對貓狗照片分類,并且獲得很高的準(zhǔn)確率,幾乎所有前沿學(xué)者都會告訴你:
那是不可能的!
因?yàn)樗麄冇玫姆椒?,是手工提取特征。然后再讓機(jī)器,對手工提取后的特征,進(jìn)行分類操作。

上圖來自這里。它介紹了手工特征提取的不足。不難看到,為了給“熊貓”圖片有效提取特征,你需要考慮多少種情況。特別是看到熊貓打滾的時(shí)候,你會有怒火中燒的感覺,恨不得勒令它保持一個姿勢,不要動。
因此,當(dāng)時(shí)的分類算法,特別“勞動密集型”。如果你想在國際大賽中取得佳績,真是得“一分耕耘,一分收獲”。
可是現(xiàn)在呢?
假如你用 fast.ai 深度學(xué)習(xí)框架,進(jìn)行貓狗分類,那你根本不需要考慮任何特征提取的問題。寫以下幾行代碼就可以了:
from fastai import *
from fastai.vision import *
from fastai.docs import *
untar_data(DOGS_PATH)
data = image_data_from_folder(DOGS_PATH, ds_tfms=get_transforms(), tfms=imagenet_norm, size=224)
img,label = data.valid_ds[-1]
learn = ConvLearner(data, tvm.resnet34, metrics=accuracy)
learn.fit_one_cycle(1)
好了,從數(shù)據(jù)獲取,到模型構(gòu)建,甚至是結(jié)果分析,全都做完了。
這幾行代碼構(gòu)建的模型,能有多高的準(zhǔn)確率呢?
答案是這樣的:

對,你沒看錯,即便是這幾行代碼,只把數(shù)據(jù)跑了一個來回(epoch),貓狗分類準(zhǔn)確率就已經(jīng)超過 99% 了。
正是 Scikit-learn, Tensorflow, Keras, fast.ai 這樣的開源框架不斷涌現(xiàn),大批優(yōu)質(zhì)教程擴(kuò)散傳播,機(jī)器學(xué)習(xí)才能在幾年的時(shí)間里,從高不可攀的“秘密武器”,變成了每個人觸手可及的研究工具。
你要明白,能讓你這么簡單使用如此強(qiáng)大的工具,是千千萬萬人協(xié)作的結(jié)果。而你,是這一張協(xié)作網(wǎng)絡(luò)中的一份子。
你應(yīng)用機(jī)器學(xué)習(xí)工具,做有意義的研究,就是在給這張網(wǎng)絡(luò)做出回饋。
嘗試擴(kuò)大機(jī)器學(xué)習(xí)的應(yīng)用領(lǐng)域,讓更多的人意識到新工具的特點(diǎn)和功能,并且一起來學(xué)習(xí)使用它。這些,都會給你論文的意義和價(jià)值加分。
既然沒有門檻,大家都能用,那你這么強(qiáng)調(diào)它干嘛?
我在《如何選研究題目?》一文中,也給你談到了信息科學(xué)界一流學(xué)者的共識,即千萬不要工具導(dǎo)向。
當(dāng)你手里只有一把錘子的時(shí)候,看什么都像釘子。但是當(dāng)你擁有豐富的工具箱時(shí),你會實(shí)事求是,用合適的工具處理對應(yīng)的問題。
時(shí)刻記住,你的研究,無論如何應(yīng)該是從問題出發(fā)的。機(jī)器學(xué)習(xí)恰好適合解決這個問題,那就用它。否則,該用什么適合的方法,就用什么。
小結(jié)
針對預(yù)答辯的反饋意見,我從“價(jià)值、必要、討論和工具”這四個角度,幫你分析了論文中問題產(chǎn)生的原因,以及具體的對策。
小結(jié)一下,就是:
首先,一定要把握價(jià)值。根據(jù)研究的特殊性,選擇合適的評價(jià)體系,加以合理闡釋;
其次,說明必要性的時(shí)候,一定要了解機(jī)器學(xué)習(xí)和傳統(tǒng)算法解決問題的本質(zhì)差異。尤其是不要忽視數(shù)據(jù)這個重要維度;
第三,論文不是演示,不能缺乏討論。通過讀文獻(xiàn),掌握討論、比較的具體方法,利用可視化的方法提升證據(jù)說服力,要著重強(qiáng)調(diào)模型是如何被訓(xùn)練出來的,而不是模型自身的算法;
第四,千萬不要踩進(jìn)“工具導(dǎo)向”的坑。要看清楚簡單易用的機(jī)器學(xué)習(xí)框架背后,這個巨大的、快速進(jìn)化的協(xié)作網(wǎng)絡(luò)。既要隨時(shí)跟蹤最新進(jìn)展,站在巨人肩膀上前進(jìn),又要時(shí)刻告誡自己不要高估自己個體的作用。
另外,就是我希望你也能夠通過自己的研究,給學(xué)術(shù)界和機(jī)器學(xué)習(xí)技術(shù)社區(qū)以正向反饋。
寫得內(nèi)容有點(diǎn)兒多,希望你能認(rèn)真讀完。抓緊時(shí)間修改完善論文吧,力爭順利畢業(yè)。
喜歡請點(diǎn)贊和打賞。還可以微信關(guān)注和置頂我的公眾號“玉樹芝蘭”(nkwangshuyi)。
如果你對 Python 與數(shù)據(jù)科學(xué)感興趣,不妨閱讀我的系列教程索引貼《如何高效入門數(shù)據(jù)科學(xué)?》,里面還有更多的有趣問題及解法。
如果你有疑問,歡迎進(jìn)入知識星球上咱們的專屬社區(qū)。