我能參加科研嗎?
每個孩子都有好奇心,從內(nèi)心發(fā)出的興趣與想法實現(xiàn)起來是最有效的。那么“科研”會適合你,只要你勇于開始,只要你興趣,你就會投入精力,去探索就能有發(fā)現(xiàn)。
了解真正的科研是什么,才能找到最適合自己的,了解究竟哪些能力能獲得提升,了解自己真正想要的。
那么什么是真正的科研? 你理解的“科研”是真的嗎?
第三講【研究中的通用“方法”】
【教師簡介】
尤洋:加州大學伯克利分校計算機博士候選人
尤洋博士是一位西貝爾學者,目前在加州大學伯克利分校計算機系讀博士學位。研究興趣包括高性能計算,并行算法以及機器學習。他當前的研究重點是大規(guī)模深度學習訓練算法的分布式優(yōu)化。
尤博士曾創(chuàng)造ImageNet訓練速度的世界記錄,并被ScienceDaily等幾十家媒體廣泛報道。尤博士近三年來以第一作者的身份,在NIPS、Supercomputing、IPDPS、ICS等國際重要會議或期刊上發(fā)表論文近十余篇。
他曾以第一作者的身份獲得國際并行與分布式處理大會(IPDPS)的最佳論文(0.8%獲獎率),和國際并行處理大會(ICPP)的最佳論文(0.3%獲獎率)。尤博士曾獲得清華大學優(yōu)秀畢業(yè)生、北京市優(yōu)秀畢業(yè)生、國家獎學金,以及清華大學計算機系數(shù)額最高的西貝爾獎學金。
他還在2017年獲得美國計算機協(xié)會(ACM)唯一頒給在讀博士生的喬治·邁克爾高性能計算獎學金。他也獲得了頒給伯克利優(yōu)秀畢業(yè)生的Lotfi A. Zadeh Prize。尤博士曾經(jīng)在IBM沃森研究中心、英偉達總部、微軟總部以及谷歌總部實習。
【分享正文】
以計算機研究分析基礎(chǔ),介紹研究中的通用“方法”
計算機現(xiàn)在已然成為各個科學研究的一部分。此前進行傳統(tǒng)科學研究需要具備三要素:

第一是理論,做任何事情之前我們都需要學習東西,要先有理論。
比如牛頓第一定律、牛頓第二定律。比如牛頓某一天發(fā)現(xiàn)蘋果砸到他頭上了,然后他要先提出一套理論,再試圖去解釋這個事情。
第二是實驗,有了理論后,我們要驗證提出的理論是否正確,就需要做實驗。
比如我們要制造一輛汽車,會先做一輛樣品車去撞一下,看這汽車在事故中表現(xiàn)如何;或制造iphone手機也要做無數(shù)次的測試,而這些測試都是實驗。
第三是模擬,人們使用計算機可以采用數(shù)值模擬做很多實驗,去完成那些不好直接作的實驗,或代價太高的實驗。
而我認為大約從2000年以后,科學研究又有了些微小變化。跟傳統(tǒng)科學研究一樣,現(xiàn)在依然需要理論、實驗和模擬。但現(xiàn)在更重要的是有數(shù)據(jù)分析。

我認為,特別最近十年左右,人們制造了無窮無盡的數(shù)據(jù)。
比如隨著智能手機即移動端的普及,每天每個人都會制造很多數(shù)據(jù);同樣,各工業(yè)各領(lǐng)域的無人機、傳感器,如麥田里的傳感器,高山里的傳感器,一直在不斷地采集數(shù)據(jù);美國視頻網(wǎng)站YouTube也曾經(jīng)發(fā)布過一項數(shù)據(jù)統(tǒng)計,從2015年開始他們的視頻數(shù)量呈指數(shù)級增長。這些數(shù)據(jù)增長的速度是非??膳碌模赡茉谖磥淼哪骋惶?,我們不知道是否有足夠的容量去儲存。
所以數(shù)據(jù)分析非常非常重要。只有在這些海量數(shù)據(jù)中找出有效信息,才對我們的經(jīng)濟、生活、科研有更好的幫助。
下面我就簡單地介紹一下,計算機科學研究的一些常用方法。
可以把計算機科學中所有的問題分為三類:
第一種是提出問題型研究。
第二種是解決問題型研究。
第三種是解釋原因型研究。
1 什么是提出問題型研究?
提出問題型研究就是從現(xiàn)實中找出問題,面對問題提出研究方向。
假設(shè)針對現(xiàn)有系統(tǒng),如微軟操作系統(tǒng)或蘋果手機的IOS系統(tǒng);或針對現(xiàn)有一些理論,如現(xiàn)在計算機科學的核心基礎(chǔ)——計算復雜度理論;或者針對各種軟件,如微信、淘寶等。我們?nèi)シ治鏊麄冇惺裁慈毕?,討論現(xiàn)有解決方案的利弊端,做出權(quán)衡。
不管解決方案再好,也都需要有一定取舍。而其中所謂利弊,也會隨著科學技術(shù)的發(fā)展產(chǎn)生變化。之前可能是利大于弊的事情,隨著新技術(shù)更新,可能就變成弊大于利了。當然也可能反之。
簡單舉例解釋一下。
給大家介紹一個摩爾定律,即芯片單位體積的晶體管數(shù)量每18個月翻一倍。
用更好懂的語言解釋就是,計算機處理器CPU的速度每18個月提高一倍,計算機或手機速度每18個月會快一倍。
摩爾定律非常重要,可以說它是整個計算機產(chǎn)業(yè)發(fā)展的基礎(chǔ),指導并支撐了計算機產(chǎn)業(yè)在過去幾十年的發(fā)展。
各大計算機巨頭,如微軟、谷歌、英特爾等會根據(jù)摩爾定律去投資,去擴張。由此,提出一些問題,為什么晶體管每18個月會翻一倍呢?是什么保證了這一結(jié)果?這樣的代價是什么?又會導致什么問題?會不會哪一天這個定律就不行了?我們該如何拯救這個摩爾定律,繼續(xù)支持計算機產(chǎn)業(yè)的高速發(fā)展呢?
還有一個定理叫安迪-比爾定理:“Andy gives, Bill takes away”。
安迪指英特爾前CEO安迪·格魯夫,比爾指微軟前任CEO比爾·蓋茨,這句話的意思是,硬件提高的性能很快被軟件消耗掉了,這是對IT產(chǎn)業(yè)中軟件和硬件升級換代關(guān)系的一個概括。
當CPU速度每18個月提高一倍,軟件通過不斷升級更新就會很快把這些提升消耗掉。軟硬件都在不斷快速提升,呈現(xiàn)良好互動。
現(xiàn)在的很多應用如抖音、阿里巴巴,在二十多年前根本無法想象,因為硬件無法支撐。
曾經(jīng)比爾·蓋茨開玩笑說,如果汽車行業(yè)能像計算機產(chǎn)業(yè)一樣發(fā)展,那我們應該用25美元就能買一輛車,加一箱油能夠跑1000英里。
回到原來的問題,為什么計算機行業(yè)可以持續(xù)做到單位體積內(nèi)晶體管的數(shù)量每18個月翻一倍呢?
就是要不斷把晶體管做小,芯片就會變得越來越密。這會導致什么問題呢?
在2000年左右,就有一些計算機科學家做了研究,他們發(fā)現(xiàn)如果按照這種趨勢發(fā)展,不進行人為管控,大概到202X年計算機芯片就可以用來做燒烤了,再過幾年可能計算機芯片的溫度就要跟太陽溫度一樣高了。
正是這群科學家,用正確的數(shù)學模型去估計摩爾定律持續(xù)發(fā)展會導致什么樣的問題,從而變相拯救了計算機行業(yè)。后面我會再介紹如何解決這個問題。
所以我想用以上例子,解釋什么是“提出問題型研究”。計算機科學發(fā)展飛快,過程中會遇到很多問題,提出問題很重要的。如果能提出一些關(guān)鍵性問題,能夠避免你走入一些錯誤的方向,甚至有可能拯救整個產(chǎn)業(yè)。
2什么是解決問題型研究?
就是當我們已經(jīng)知道了一些問題,從而想提出一些解決方案。
比如如何使我們的程序運行速度更快?如何設(shè)計出一個圍棋程序戰(zhàn)勝人類?
2016年就谷歌開發(fā)出了一個軟件,能夠擊敗人類最好的圍棋運動員。
如何比人類更快更好的識別和分類圖片?
現(xiàn)在這種技術(shù)已經(jīng)很普及了,包括很多攝像頭有人臉識別技術(shù),在十多年前都是很不成熟的。
如何實現(xiàn)網(wǎng)頁排序算法?
今天在谷歌或百度搜索一下,它就總能把最相關(guān)的頁面呈現(xiàn)在最前面。這背后是一個Page Rank算法。
以上幾個例子,都屬于“解決問題型研究”。
剛才,我還向大家提出一個很重要的問題——如果按摩爾定律不斷發(fā)展,最后會導致計算機芯片溫度可能比太陽還高。那計算機行業(yè)是怎么解決這個問題的呢?
通過不斷研究,我們提出的方法就是多處理器。
以前,計算機芯片只有一個處理器——中央處理器,行業(yè)術(shù)語也稱之為“核”。
而現(xiàn)在我們盡量采用多核處理器,比如我們現(xiàn)在的手機都有四核或八核。這一解決方案成功應用后,至少到目前為止,摩爾定律還能很好的得到保證。
這些都屬于“解決問題型研究”。
3 什么是解釋原因型研究?
即指我們已經(jīng)有了一個解決方案,但人們想弄清楚這種方案為什么是可行的。
比如一個人嘗試了無窮種方案,其中有一次可行了,但他卻不明白為什么這個方案是可行的,所以人們就想試圖做出解釋。
包括現(xiàn)在最熱門的人工智能,其實是沒有理論依據(jù)的?,F(xiàn)在,我們實現(xiàn)人工智能的方法還是通過給機器一堆數(shù)據(jù),然后進行剛才提到的監(jiān)督學習和非監(jiān)督學習,但其實我們并不理解機器深度學習模式究竟是如何實現(xiàn)的,實際現(xiàn)在的人工智能系統(tǒng)是不可靠的,人類還并不太理解它是怎么回事兒。
所以現(xiàn)在很多人在研究,試圖解釋清楚,只有當我們真正理解它為什么工作之后,才能更好地控制它們。否則有一天,科技發(fā)展到一定水平我們無法控制人工智能了,那是一件非常危險的事情。
想做這種類型的研究,一般需要有很強的數(shù)學和理論背景,如微積分、線性代數(shù)、數(shù)值優(yōu)化、概率論等。
往往我們需要對問題做出合理的假設(shè),使得問題盡量符合真實的應用場景。我們通常也會指出人們之前的認知誤區(qū)。所以這一類型研究對理論和數(shù)學要求非常高。
當然這種理論研究也是非常重要的,比如計算機領(lǐng)域的最高科學獎一般都會頒給在計算機理論上做出很大貢獻的科學家。
舉個“解釋原因型研究”的案例。
人們當前使用批量隨機梯度下降法去求解人工智能優(yōu)化問題。人們觀察到當我們把批量數(shù)增大時,系統(tǒng)的精度會提升。但是,當把批量增加到特別大時,系統(tǒng)的精度會下降。為什么?能否從優(yōu)化和泛化角度做出合理的解釋?
比如,我們給機器一萬張圖片學習人臉識別,不能一次性把一萬張圖片給它,而要分批給它,如每批給100張去學,或每批給1000張去學。
你會發(fā)現(xiàn)一個很有意思的事情,就是每次給它1000張和給它100張的學習效果是不一樣的。而這又是為什么?這現(xiàn)在是計算機科學研究的一個熱點。
在解決問題的過程中,我們?nèi)绾问褂糜嬎銠C?
在利用計算機解決問題時,算法的使用和選擇非常重要。
那么就要關(guān)注算法復雜度。什么是算法復雜度?指算法在編寫成可執(zhí)行程序后,運行時所需要的資源(時間資源、內(nèi)存資源)。同一問題用不同算法解決,而算法的質(zhì)量優(yōu)劣將影響到算法乃至程序的效率。
舉一個簡單示例:對N個數(shù)排序。
當n=10時,對9、2、7、5、1、0、6、3、4、8排序,排序完是0、1、2、3、4、5、6、7、8、9。排序是很簡單的計算機科學問題,你有什么好的算法呢?
而當N的規(guī)模不同時,我們要采取的方法也會不一樣。當N=1000?N=100萬?N=10億?我們要對1000個數(shù)、100萬個數(shù)、10億個數(shù)進行排序,要用什么方法呢?當N規(guī)模越大,比較復雜的算法消耗資源也越多。
在計算機科學研究中,我們往往不知道N是多少,或者今天寫一套軟件程序,可能十年甚至二十年后我們還希望能使用它,今天N只是1000,10年后也許就變成了10億。
所以我們在設(shè)計軟件時,必須要考慮算法復雜度,考慮算法的可持續(xù)發(fā)展性。
其次,各個學科都在使用計算機以及超級計算機進行模式實驗。
隨著計算機普及,現(xiàn)在各個學科包括物理、化學、生物、地理、天文、工程等都會在研究中使用計算機進行模擬實驗。
而使用超級計算機進行模擬實驗的情況也越來越多,當具體實驗問題太大、太小、太快、太慢、太貴或太危險時,都可以采用模擬實驗。
比如研究宇宙天文,天文數(shù)字非常龐大,又很難用人類肉眼去做實驗,如捕捉小行星等,就可以用計算機模擬。
比如分子層面的蛋白質(zhì)折疊等,牽扯狀態(tài)太多,做實驗也很困難,也可以用計算機去模擬。
比如設(shè)計高效能飛機引擎,速度太快,實驗數(shù)據(jù)很難捕捉,就可以先用計算機模擬引擎在各種環(huán)境下的性能如何。
比如全球氣候變化,人類要觀測幾百年甚至上千年才會一些氣候變化特征,單靠實測性研究幾乎不可能?,F(xiàn)在普遍是科學家采集一些數(shù)據(jù),然后運用計算機模擬。
比如核爆模擬實驗,雖然各國達成協(xié)定后,都不再做真實的核爆實驗,但是使用超級計算機仍可以進行核爆模擬實驗。
關(guān)于科研中計算機、超級計算機的算法及其使用的知識,稍后再有單獨文章進行介紹。有興趣的讀者歡迎持續(xù)關(guān)注。
最后,進行計算機科學研究、人工智能進行研究需要哪些工具。

現(xiàn)在最熱門的編程模型就是python,它是一種很好的免費數(shù)據(jù)分析工具。
如果需要編程框架,可以使用谷歌的tensorflow或facebook的pytorch,也是免費工具。
書籍方面的話,姚期智可能會在9月份出一本書叫《人工智能(高中版)》,他是我國目前最好的計算機科學家,最權(quán)威的人工智能專家。
以下為問答精選
Q1:中學生對科學研究有興趣的話,在實驗設(shè)計數(shù)據(jù)收集和分析等方面您有什么好的建議嗎?
尤博士:我認為中學生最好先找一個老師去指導你,比如去大學實驗室,教授可能會安排他的博士生去一步步對你進行指導。
加州伯克利分校每年會招一些高中生甚至初中生到實驗室參與研究,由于我們知道他們沒有經(jīng)驗,首先會一步一步教他們怎么做,如第一周會告訴他們怎么樣采集數(shù)據(jù)?采集哪些數(shù)據(jù)?怎么使用軟件?對中學生,我們的態(tài)度就是手把手教。
Q2:從您的專業(yè)角度來看,對于中學教師,如何幫助學生進行科學研究?
尤博士:教師引導高中生、初中生參與科學研究,首先必須充分溝通,了解學生究竟有什么疑惑,具體問題是什么,可能對教師來講很簡單的問題,學生沒有相關(guān)專業(yè)背景,可能就會覺得是很難的問題。如果教師不理解學生的內(nèi)心想法和困難,就很容易造成誤解。不了解學生,給他安排了非常艱難的任務(wù),很容易給學生挫敗感,就會讓他逐漸對科研失去感興趣。
另外,教師可以為學生搭建適合的科研平臺,比如與大學實驗室或課題組建立聯(lián)系。
Q3:您對跨專業(yè)讀博士有什么好的建議嗎?
尤博士:我認為跨專業(yè)讀博士很常見,以人工智能為例,它需要很多數(shù)學基礎(chǔ),如果本科學數(shù)學,研究生學人工智能,可能比本科就讀計算機的同學還會更有優(yōu)勢。
很多計算機專業(yè)的學生,數(shù)學理論功底沒有數(shù)學專業(yè)強。本科學數(shù)學不管轉(zhuǎn)到哪個科學都是蠻有需要的。如果本科是物理專業(yè)的話,也很容易轉(zhuǎn)到計算機或者其他學科。
若有檢測需求可撥打咨詢熱線或點擊在線咨詢,將會有工程師為您詳細解答,歡迎您的來電!
