我博士科研經歷中的經驗和教訓
原文:我博士科研經歷中的經驗和教訓 朱亮 中國民用航空上海航空器適航審定中心
一個偶然的觸動,引發我反思自己博士期間的經驗和教訓。我想鄭重的宣告:寫此博文,只是希望和朋友一起分享一下我的經驗和體會,而不是想吹噓自己。因為,我覺得只有自己的切身體會,才最深刻,才最有發言權。
從另外一個側面,我也想與年輕朋友分享一個我的經驗:當我們在向他人,特別是領導、導師彙報時,絕不要打無準備之仗。中國人往往會將得不到支援的原因歸結為別人不理解自己的想法,而不去檢討自己是否準備充分,是否以他人可以接受的方式、可以理解的方式闡述自己的觀點。在我看來,因為自己沒有把工作做實而喪失發展的機會,也是一大缺憾。
我當時面臨的第二個困難:補充大量的新知識。為了理解軌跡線性化控制方法,我不得不從它的理論基礎開始補起,主要包括兩大部分:線性時變系統理論和非線性控制理論。特別是線性時變理論,我找了所有能夠找到的朱建朝教授和他導師發表的論文,從頭讀起。只能說,朱建朝教授的數學功底著實厲害。也是在這段時間裡,我慢慢養成了整理好每個論文、整理好讀書筆記的習慣。因為下載的論文很多,有些論文也不是一遍就能夠理解的,可能需要讀很多遍。所以,為了在最短的時間找到最需要讀的資料,為了將我不同時期撰寫的註釋都能夠在一個論文之上,我不斷強化自己的資料管理。下圖是我讀朱建朝教授的一篇經典綜述性論文時,不同時期寫下的註釋。
時至今日,儘管我已經遠離理論研究,但我能夠理解民機開發規範性的重要性、檔案體系架構的重要性、資料管理的重要性,都得益於當時自己再研讀論文時養成的好習慣。我也很懷念那段心無旁騖,一心讀書的美好時光。
我當時面臨的第三個困難:如何創新?軌跡線性化控制方法不是我的原創,對於朱建朝教授來說,他可以用同樣的方法,針對不同的被控物件開展研究,驗證其方法有效性的同時,不斷的發表論文。而我,則不能只停留在這個層次之上,原因:一是從科學進步的角度,這種重複性的工作毫無意義;二是我很難發表文章,沒有文章也就無法畢業。於是,一個艱鉅的任務擺在我的面前:找出軌跡線性化的弱點,然後想辦法改進。通過理論分析和模擬試驗,我發現軌跡線性化控制方法儘管有效,但是當實際的被控物件與用於控制器設計的物件模型存在差異時,利用軌跡線性化控制方法實現的控制律,穩定性會越來越差,直至差別足夠大時,整個控制系統從穩定系統變成不穩定的系統。這個所謂的“差別”就是控制理論專業所說的“不確定性”。找到問題的根源,也就奠定了我解決問題的基礎,此時,整個理論研究就很自然的轉化為:如何消除不確定性對原有控制系統穩定性的影響,改善整個控制系統的效能。於是乎,我又再一次踏上不斷學習,不斷尋找的道路。在整個控制理論發展的許多年來,一個重要的消除不確定性思想和方法就是自適應控制方法,也即設計一個自學習、自適應的機制,其產生一個與系統不確定相反的值,該值可與不確定兩兩抵消,從而達到改善原有控制系統在不確定存在情況下的效能。就這樣一個思想,演化出很多具體的技術,比如神經網路自適應技術,模糊自適應技術,干擾觀測器技術等等。經過研究後,我準備採用神經網路自適應技術,即將神經網路自適應技術與軌跡線性化控制方法相結合,產生新的、穩定效能更好的魯棒自適應軌跡線性化控制方法。第三個困難看似得到有效的解決。
至此,我的研究一切都看似非常的順利,當時的時間大約已經到了2005年九月份,沒有想到我真正的挑戰便從此開始。
我面臨的第四個困難是:當我經過一系列的公式推導得到完整的魯棒自適應軌跡線性化控制演算法,並利用該演算法針對空天飛行器這一被控物件搭建起完整的模擬系統,一經執行時卻發現,整個控制系統是發散的!我做了無數次的模擬,修改了無數次的引數,整個控制系統仍然是發散的,我幾乎崩潰。
這篇博文寫到這裡才是我最想與大家分享的,我想知道大家在遇到類似的情況時,你們會怎麼做?
我當時確實動搖過信心,想放棄軌跡線性化控制方法,這是因為由於缺乏足夠資訊,研究經驗也不足,我無法定位造成控制系統發散的準確原因:(1)我用來控制器設計的數學模型,並不是一個經過嚴格驗證的模型,我無法肯定是不是數學模型本身出的問題,我當時的想法是:假如我採用成熟的自適應控制理論和方法,至少可以降低因為創新帶來技術風險;(2)我確實對我的思路產生懷疑,因為將神經網路自適應技術與軌跡線性化控制方法相結合,誰都沒有做過,包括朱建朝教授和他的團隊也沒有做過;(3)我給自己定的博士畢業時間節點是2006年年底,而當時已經是2005年9月,時間相當、相當緊迫。
對於我來說:假如我放棄軌跡線性化控制方法,重新改其它的控制理論方法,不是不可以,但帶來的後果是博士畢業時間拉長,同時,從研究思路上講,我覺得整個思路是沒有錯誤的,因此把眼看到手的成功輕易放棄,確實不甘心。
當時為了突破這個難題,我做了如下幾件事:
第一,我將相關的非線性控制理論、軌跡線性化理論、神經網路自適應控制理論教材和論文,重新閱讀了一遍。我做此事的目的,是確認我的思路和我的方向是正確的。我想強調的是:現在中國人一聽到“方法論”這個詞就有些頭疼,就有些排斥,可能和我們整個國家、整個民族習慣只講理念、不重視實際操作有很大的關係,最終造成的後果就是大家排斥理論、排斥方法論。但以我個人的經驗來看,我非常重視理論研究,因為理論研究可以提供巨集觀的方向,保證不會出現方向性的錯誤。所以我當時重讀論文,就為證明我的思路是正確的。
第二,我開始和國內國外的很多專家討論。包括朱建朝教授在內,我給國內外眾多研究非線性系統自適應控制、神經網路自適應控制的專家寫過信。我這麼幹,完全是被逼的,因為我應當在軌跡線性化控制方法上算是“全世界第二,全中國第一”,但在魯棒自適應軌跡線性化控制方法上算是“全世界第一”,所以在身邊周圍找不到可以討論的人。但現在回想起來,我想和大家分享的經驗是:(1)勇氣。很多年輕的朋友遇到問題時,總喜歡自己埋頭苦幹,這當然並不錯誤,但我分析中國人不願意與專家交流、向專家諮詢的一個重要原因是勇氣不足。我建議年輕人不要怕給專家寫信,我可以很負責的對大家說:越是國外的專家,越是大的教授,越是非常樂意討論技術問題,他們的很多建議都是非常具有建設性的。我本著臉皮厚的心態給這些專家學者交流,他們給我回信,我就賺了;他們不回,我也不會去找他們算賬;(2)提問的方法。當我們給別人闡述問題的時候,一定要闡述清楚問題的背景和遇到的情況,這樣才能讓專家幫助你去判斷。我們提問的越簡單,得到的回答也越簡單!所以,我現在不贊同某些公司習慣性的想法和做法,即什麼事情都指望供應商、什麼事情都推給諮詢公司,認為只要花錢就能解決問題。要知道,即便面對的是真有水平的專家,如果我們自己無法描述清楚問題的背景和狀況,專家是不可能對症下藥幫助我們找到答案的。
第三,我還是會和實驗室的兄弟姐們不斷的討論。在討論的過程中,我得到很多精神上的安慰,我與同門的深厚友誼就是這樣建立的。他們也會把他們的研究心得貢獻出來,給我很多專業上的建議。這裡我想強調一點:中國人一直說不恥下問,但並不是所有人都能夠真正做到。比如,作為博士,大家是否會拉下面子向碩士生、甚至本科生求教?事實上當時給我啟發最大的是我的一個碩士師弟,此人叫陳海通。儘管他是碩士,但此人的學術造詣極高,畢業後沒能出國繼續深造,確實一大遺憾。他點撥我的幾句話,讓我有很大的收穫,堅定了我解決難題的決心。所以,真正想解決技術問題,一定要有顆平常心:對於領導,院士,教授,不要過分自卑,盲從盲信;對於學歷低,經驗少的,也不要過分自傲,而要不恥下問。
第四,我暫時放棄了空天飛行器模型,而轉用簡單可靠的數學模型作為研究物件。這樣做的好處是可以避免因空天飛行器數學模型本身帶來的研究不確定。
第五,我用同樣的研究思路,採用不同不確定消除技術,即非線性干擾觀測器技術,重新進行理論推導、重新進行控制器設計。我驚奇的發現,對於非線性干擾觀測器技術,由於干擾觀測器構造簡單,不僅理論證明很容易,模擬實現也很容易,整個模擬過程不僅很容易通過,而且效能表現非常優異!所以,這大大增加了我最終解決自適應控制難題的信心,同時,無意中,我又多發明了一項新的非線性控制技術。
第六,我說服自己的師弟和師妹,為自己建立一個小的研究團隊。這個事情可能是我乾的最經典的一件事情,我從實驗室新進的人中,挑選了三個人:一個博士,兩個碩士。我向他們充分闡明瞭當時的狀態,請他們考慮幫助我一起攻克難題。我對他們說的是:這是一個新的方向,只要問題解決,形成理論突破,他們畢業是非常簡單的事情。也許是我的真誠感動了他們,他們自願加入我的研究團隊。在這三個人中,對我幫助最大的是名叫張春雨的碩士生,這個小夥子的領悟能力極強、動手能力極高。他聽明白我的研究思路後自主的使用模糊自適應技術,形成了模糊自適應魯棒軌跡線性化控制,並且模擬一下子就獲得成功。事實上,他做的模糊方法,先於我做干擾觀測器的方法,也正是因為他的成功給了我很大的啟示,我才暫時放心神經網路自適應的道路,轉向用干擾觀測器來驗證我的思路。同時,張春雨在模擬中獲得的資料,成為我分析的依據,對於我最終解決問題起到很大作用。最後,我的這個團隊都正如我預想的那樣,不僅順利畢業,而且在形成理論突破之後,張春雨奇蹟般的在碩士期間發表了7,8篇EI檢索論文,也就是按照南航博士的標準,他完全可以申請博士論文答辯。我從此也在實驗室落得“博導”的外號。
做完上述這些事情,我真正的回頭收拾我的神經網路軌跡線性化控制。我重新推導了所有公式,而且不再用紙和筆推導公式,改用word裡面的公式編輯器。利用word,我可以把所有的推導過程保留,並且可以用不同的顏色表明因式分解,合併同類項等等,使得整個推導過程非常清晰,避免人為差錯。也正因為如此,多年之後的今天,我的這些推導過程和結果仍然得以保留。我也重新編寫了程式,並苛求程式乾淨、規範。下面兩幅圖是我當時推導公式的示例,和我程式設計的示例。
最終,我發現我的錯誤:真讓我哭笑不得,就僅僅錯了一個正負號!我在引入別人的神經網路自適應控制思想的同時,想當然的也將別人的自適應調節律也引用過來,也就是,我做了大量的公式推演,但在最後一步上,我放鬆了警惕。而恰恰在自適應調節律問題上,我的自適應調節律剛剛和別人符號相反。所以,別人是收斂的,我是發散的。
邁過最後這個坎,我在2006年的5月基本達到南航博士畢業的要求,進入最後的博士論文撰寫,2006年7月份完成初稿,9月份完成修改稿並送外審,12月7日正式答辯並順利通過。
後記
至此,我整個博士經歷算是基本介紹完畢了。有時候想想,我是不是很悲催?如果一開始就把公式推導正確,我也不會繞如此之大的一個彎兒,也許能夠更快、更輕鬆、更順利的畢業。我是不是運氣差了一點?時隔八年之久,我仍然對當時的情形歷歷在目,確實映像太過深刻。
教訓
第一,我本人確實有粗心大意和急躁的不足。這是打小兒就存在毛病,2005年9月份至2006年5月,是我備受煎熬的9個月,這樣的一個教訓對於我來說,足夠的慘痛。但是,這樣一個教訓的背後,我理解了這樣一個道理:人,是不可避免會犯錯誤的。
第二,我在破解難題的思路一開始就存在問題。其實最簡單和最直接的解決方案是請一個足夠細心的師妹,請她幫我把公式重新推導一遍,我只需付出半天時間外加請吃一頓飯,就可以把問題輕鬆搞定。由於沒有經驗,我當時想當然的分析可能是模型導致的錯誤、可能是創新帶來的風險,這些思路都不對路。
經驗
古人云:失之東隅,收之桑榆。真的是這樣。我經歷了這樣的慘痛教訓,也收穫了意想不到的東西:
第一,沒有這個慘痛教訓,我不會去訓練自己用word推導公式,當前我對設計文件規範性的理解、對駕駛艙設計的理解、對人為差錯的理解、對軟體程式設計規範性的理解、對民機產品開發強調過程保證的理解,等等,等等,都得益於這樣的教訓;
第二,我比較紮實的理論基礎,得益於當時反覆的理論學習和理論推導。而且我的切身體會也令我重視理論、相信理論,我認為理論的重要性就在於它能夠在巨集觀層面指引正確的方向;
第三,儘管我是被逼的,但是我的主觀能動性被充分的調動起來,為了能夠按照預想的時間達到畢業的目標,我盡力把我當時能想到的和能做的事情都做到極致;
第四,我也在解決問題的過程中,結識了一大批的專家教授,並和實驗室的師弟師妹結下深厚的友情,我想這是比我取得博士學位更寶貴的東西;
第五,我認為最重要的是博士經歷對我的性格也有極大的改變。初中和高中,性格內向、老實穩重是大多數人對我的評價。然而,因為讀博士,因為遇到的困難,我不得不變得更加主動。從博士畢業至今,我逐漸習慣於建設性的思維和積極的行動,而不是無休止的抱怨或者停滯不前。所以,當人生第一次給學生講座,分享我的求學經歷之時,我仔細的想了想,寫下三句話:思路決定出路,細節決定成敗,狹路相逢勇者勝!
第六,我深深體會,能力提升是以解決問題為導向的。當前中國的教育是填鴨式的功利性教育,大家一方面在抱怨教育體制存在的問題,一方面又在給自己的孩子施加巨大的壓力。填鴨式的教育將孩子自主思考的時間全部佔據,沒有教會孩子分析問題、解決問題的能力。其實讀博士並沒有想象的困難,我認為一般智力的人,只要掌握合適的方法,然後捨得花上數年的時間,持之以恆,都可以拿到博士學位。因為讀博士,無非就是給一個題目,或者一個方向,並且不告訴他正確答案,然後讓這個人自主去尋找答案。對於這樣一件事情,在美國,從幼年起便開始訓練,而在中國至少在碩士畢業之前,少有人完成。所以,我呼籲那些天天逼著孩子學這學那的父親母親,給孩子充分自主思考的時間,哪怕孩子只是在玩兒,只要他專心致志,就不要去過多的干擾,陪著就好。
總之,無論教訓也罷,經驗也好,人真的只有經歷過才能變得成熟,而經歷往往都是要付出慘痛的代價的。所以,不必抱怨太多,靜待時光就好。