談資訊科學的研究方法

研究生指南

學術叢林

尋找主題

指導教授

研究方法

尋找論文

閱讀論文

撰寫論文

論文出版

畢業口試

課程資訊

教學錄影

臉書社團

98年課程

100年課程

檔案下載

訊息

相關網站

參考文獻

最新修改

簡體版

English

我想、我是最沒有資格談研究的大學老師了,畢竟、我沒有做過多少學術性的論文,然而、當我看到許多同學努力的往錯誤的方向走去,卻沒有人告訴他們這件事,我就忍不住要提醒他們,我也曾經範過同樣的錯誤,這些錯誤,足足讓我白費了很多年的光陰。

何謂科學研究?

到底甚麼是科學研究呢?科學與非科學之間有之間有何區別? 很難的東西就是科學研究嗎?用了很多數學方法的東西就是科學研究嗎? 當然不是。

區分科學與非科學之間的界限,在於是否可以用外在環境或實驗進行檢驗,可以驗證或否證者稱為科學研究,例如:『物理、化學、生物』等類別的研究,通常可以用實驗的方法檢驗,因此毫無疑問屬於科學類,而『歷史學、人類學、社會學、心理學』等社會類的科目,由於許多研究難以檢驗,能否納入科學類則見人見智,另外、有一些很特別的學科,例如:『數學、資訊科學』,能否納入科學研究呢?

根據可否進行檢驗的判斷法,數學很難被納入科學研究的範疇,因為數學是受邏輯法則規範,但卻無法用外在環境進行檢驗的,雖然數學在許多科學當中是重要的工具,但通常不會因此而被納入科學研究的範疇。

資訊科學就更難以判定了,某些資訊科學的領域,像是『演算法、影像識別…』等等,是可以很容易的進行檢驗的,其判定的指標有『速度、空間、正確率』等等,而有些領域,則難以用客觀標準判定,例如:『自然語言處理、機器翻譯…』等等,由於牽涉到人類主觀的評判,不容易以客觀的標準評定,因此、能否稱為科學很難定義,這與社會科學的狀況一樣。

資訊科學的檢驗與評判

既然科學研究要求檢驗,要求否證或驗證,那進行研究之前當然要想清楚『如何檢驗?』這個問題,有些研究領域,無法或很難進行檢驗,若一腳踏入,可能誤入歧途,那對急於畢業的研究生而言可能就一命嗚呼了,因此、進行研究之前千萬要想清楚如何驗證的問題。

資訊科學研究的檢驗方式,常用的有三種判斷指標,第一種判斷指標是速度,演算法的研究通常可以用速度來進行比較,例如:比較哪一個演算法的速度比較快,複雜度比較低,硬碟存取次數比較少等等,第二種斷指標是使用的空間大小,這個指標在演算法上比較少用,但在影像壓縮等領域則可以使用,第三種判斷指標是正確率或準確率,這在人工智慧的領域比較常見,涉及預測或模仿人類行為的,通常可以用準確率進行評量。

要進行評量,很多時候得先看看手上的資源是否足夠,否則、當研究進行了兩三年,才發現沒有辦法評量,那將陷入進退兩難的境地,這對博士生是一個很大的傷害。

舉例而言:假如你進行影像處理的研究,例如辨認車牌號碼,那你可能會先去看各式各樣的論文後開始設計方法,然而、是否有車牌號碼辨識準確率測試常用的影像庫卻是一個大問題,否則、當你設計出程式後,如何與其他方法進行比較將有一定的困難。

如果有標準的測試資料,也就是所謂的 Bench Mark,那在方法的比較上就相對容易,各個論文的方法可以不用重做實驗就能進行比較,但是若沒有,那你如何與其他方法進行比較呢?

當沒有標準的測試資料時,就無法直接進行比較,但是在網際網路時代,如果有些論文作者將其論文的程式碼上網,則你可以對同一份測試資料進行兩次的實驗,一次用你的程式跑,一次用對方的程式跑,在將結果進行正確率的比較,這也是一個很容易的辦法。

當該領域既沒有標準的測試資料,或者比較的方法沒有公開的程式時,那你只好仔細看看對方的論文,然後自行實作出程式,再將兩者進行比較,以評估方法間的優劣。

但是這種私自實作對方方法的作法,有時很不容易進行,因為論文很難揭露所有程式設計的資訊,因此、即使實作完成,仍然無法確認是否與對方的方法一致,參數等設定方式是否相同,程式設計是否正確等等,因此、費力費時又不討好。

甚至有些領域連評量都有所困難,就更別說客觀性了,例如:『自然語言處理、機器翻譯…』等領域,其評量指標都會與人的主觀判斷有關,若沒有一個大家共同認定的評量基準,根本無法比較,當你踏入這樣的領域時,要有非常堅強的心理準備,實驗測試必定很難進行。

資訊科學中所使用的研究方法

要談論研究方法,我想我實在太不夠資格『班門弄斧』了,我的研究少得可憐,在學術領域頂多只是食物鏈中的『浮游生物』而已,連蝦米都可以吃掉我,但為了本篇文章,只好勉力振作一下,但是、我還是希望有重量級的研究者能看到本篇文章後,為我們講講『研究方法』。

『喂、劉 x 朗爺爺,李 x 同伯伯,我在叫你們了,聽到了沒有,出來指導一下可憐的研究生吧!』

(喔! 不要踢我…)

承上所述,研究必需找對題目,在選定題目之前一定要先想清楚該題目有沒有辦法驗証或評估優劣,有沒有比較的實驗基準等等,如果沒有,你卻冒然踏入,那就又踩到陷井了。

這樣說明實在太抽像了,我再用具體一點的例子,還是以資訊科學領域作範例:

假如你要投入『語音辨識』領域的研究,那最好先想清楚,作一下需求分析的動作,例如是否已經能取得供測試用的『語音庫』,該語音庫是否曾經被其它研究使用過,並成為研究人員比較語音辨識方法優劣的基準,
如果有,那驗證上就有比較好的依據。

作研究時,往往不是像大學生想像的那樣

『我從頭到尾將程式作出來,然後看看我的程式的表現如何,這樣就好了,不是嗎?』

這就又錯了,語音辨識的方法何其多,前人曾經作過多少的研究,若你完全重新自創一套方法,那勢必在前處理 (數位化後轉換成可被辨識程式處理的動作)、學習 (利用標準達案讓電腦學到一套模式)、辨識 (用該模式對前處理的結果進行輸入-辨識-輸出的動作)、甚至後處理等等的過程都自己來,這樣即使你取得了實驗結果,也不知道到底是前處理的功能很好,還是學習的功能很好,還是辨識的功能很好,更何況還要與他人的研究成果比較,你憑甚麼說你的方法是最好的,況且、這樣做很容易範下致命的錯誤,那就是自大的認為別人的研究都是垃圾,口試時萬一有專家在場,肯定會不高興,被修理批鬥也是理所當然的。

因此、資訊科學的研究,較安全的方法是對目前幾種最好的方法進行改良,例如,若語音辯識的模組可以拆成 5 個部份,也就是

語音辨識 = A+B+C+D+E

那我們首先取得以這些方法實作出來了語音辨識模組的原始程式碼,然後對其中某一個模組,例如 D,進行改良,成為 MD,接著,用 A+B+C+MD+E 進行測試,然後比對改良方法與原方法在正確率上是否有所改進,甚至進一步對結果進行分析,看看輸出相同的有哪些,原先正確後來確錯誤的有哪些,原先錯誤後來正確的又有哪些,D 與 MD 的優缺點各在哪理,然後、若結果令人滿意,有明顯的改進,再開始準備論文寫作。

但是、並不是每個領域都有被認可的測試資料與原始程式碼,因此、在選擇研究領域上,就會很為難,有些領域的風險就是比較高,投入後會『踢到鐵板』的機會也會比較大。

擅於作研究的人,往往會有一些常用的技巧,例如:在影像處裡領域,有很多種的前處理方式,像是 Fourier Transform, Cosine Transform, Hadmard Transform 等等轉換方法,於是當某一個研究者想要產出大量的論文時,就可以搭配某些辨識方法,進行排列組合,舉例而言,假如影像辨識有三個主要步驟,也就是

影像辨識 = A+B+C

經調查後,A 過程有 A1, A2 … A5 等五種版本,B 過程有 B1, B2, B3 三種版本,C 過程有 C1, C2, C3, C4 等四種版本,於是較投機的研究人員就可以出 5*3*4=60 篇論文,測試每一種的結果,但是這樣的作法通常不會是很好的研究 (不過可以衝論文數量就是了,但要小心被指為一稿多投,那就掰掰了)。

一種可能的方法是,暴力式的對所有的 60 種組合進行過實驗後,寫出單一篇論文說明哪些組合較好,然後進行理論分析,看看為何這些組合會比較好,這樣的做法就比較科學。

結語

資訊科學是一個跨領域的學科,可說是科學、工程、心理、設計、藝術的綜合體,科學的部份可以用『速度、空間、正確率』等指標進行檢驗比較,牽涉到心理與人類主觀判斷的部份,例如:『自然語言處理、機器翻譯…』等等,在評量上很難以客觀,而最難以評判的,是設計與藝術類的領域,你應該無法想像如何使用客觀指標去評價『凡谷』、『畢卡索』等人的繪畫吧?

然而、當你的興趣在『多媒體設計、遊戲設計、軟硬體設計』等設計類的領域時,卻又一腳踏進學術界,那勢必要大嘆『男怕入錯行、女怕嫁錯郎』了。

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License