|||
我博士科研经历中的经验和教训
朱亮
中国民用航空上海航空器适航审定中心
自从2006年12月博士毕业至今,虽然没有留在高校从事教学工作,但是一直也没有停止和年轻的工程师以及在校学生的交流往来,有时候还会指导他们的科研和学习,分享一些自己的心得和经历。也许是中国人的民族性格问题,也许是一贯的填鸭式教学方法问题,我常常发现很多的年轻朋友,虽然他们都经过本科、硕士甚至博士的多年培养,但都未能找到、更未形成一套适合自己的研究和学习方法,加之缺乏足够的主动性,因而在提出问题、分析问题和解决问题方面能力欠缺。对于这种情况,我经常会把自己博士期间在小木虫等论坛中留心收集到的科研方法、科研经验,分享给这些朋友。
一个偶然的触动,引发我反思自己博士期间的经验和教训。我想郑重的声明:写此博文,只是希望和朋友一起分享一下我的经验和体会,而不是想吹嘘自己。因为,我觉得只有自己的切身体会,才最深刻,才最有发言权。
我是从2001年9月至2006年12月,在南京航空航天大学自动化学院,完成硕博连读,取得了工学博士学位。2001年9月至2003年3月是我的硕士阶段,这段时间我的主要任务就是上课,修学分,具体不去说它了。自2003年3月开始,我进入博士阶段,当时我的导师指派给我的项目是国家自然基金《空天飞行器飞控系统的强稳定、强鲁棒自适应的全自主智能控制研究》。我可能不是当时国内最早从事空天飞行器控制问题研究的人员,但也是相当早的研究人员,而在我的实验室,我则绝对是最早进入这个研究领域的。
对于这个项目,我主要做了三方面的工作:
第一,全自主智能控制系统研究。我做这个研究不是因为自愿,而是因为课题申报中就有相关的研究内容,我当时花了相当多的精力去研究了所谓的基于Agent的自主控制,但事实上这部分研究对于我来说是走了弯路的,因为它既不是我实验室的强项,也不是整个项目的研究重点,所以详情不去多说;
第二,建立空天飞行器的数学模型。当时国内进行空天飞行器(后来称高超声速飞行器)控制理论和方法研究这块儿,一个重要的瓶颈是没有被控对象数学模型,特别是没有6自由度、非线性、能够反映高超声速飞行器气动特征的被控对象数学模型。搞控制理论研究或者搞实际控制系统开发的朋友都知道,没有被控对象,是根本无法谈控制系统开发的。于是,我在南航大的图书馆中,一篇一篇的翻阅AIAA的论文,期望找到一个合适的被控对象模型。终于功夫不负有心人,我终于发现Journalof Dynamics, Guidance and Control杂志1998年和2000年发表的两篇论文的引用文献清单中,都提及美国国家空天飞行器计划(NationalAerospace Plan,NASP)期间NASALangley研究中心曾经对外发布过一个完整的高超声速飞行器Winged-Cone模型,于是我顺藤摸瓜找到南航大图书馆的影像室,看到了缩微平片,又根据缩微平片找到了完整的PDF格式的报告。在这份报告中,一共存在143张气动参数图,每张图65个数据点,我和我的师弟方炜博士一起,采用逐点采样的方式,将所有的数据点信息取出。然后再利用插值拟合,并结合其它文献中对于空天飞行器、高超声速飞行器、可重复使用飞行器等共同特点和假设,总算弄出一个还算凑合的数学模型,能够满足飞行控制系统理论研究的基本需要。
上面的这两件事情一共花了我差不多两年时间,此时日历已经翻到了2005年。那年春节期间,我仔细回顾了过去两年的工作,认为如果再沿着自主控制、再沿着数学建模进行下去,我博士毕业遥遥无期,原因很简单:难写论文。不是我不想写,而是本身这两件事就不适合出高质量的论文,要知道当时南航对博士的要求是至少发表三篇EI论文。随着时间的推移,我的压力越来越大,谁不想早日毕业,养家糊口呐。2005年3月,我果断的进入主业,进入非线性系统控制理论的研究。这就是我做的第三件事。
我当时主要选择研究的理论方法叫:轨迹线性化控制方法(Trajectory Linearization Control)。这个方法是一位美籍华裔教授朱建潮(Jim J. Zhu)在1998年至2000年前后最先提出来的。直到2005年我第一次接触时,轨迹线性化控制方法都算是很新颖的一种非线性控制方法,在国际上少有论文发表,而在国内则无人从事过这方面的研究工作。
我当时面临一个选择:即选择围绕轨迹线性化控制方法为主开展研究,还是选择以动态逆控制或者滑模控制这类较为成熟的方法为主开展研究。
如果选择轨迹线性化控制方法,由于这个方法比较新颖,那么假如我能掌握并形成理论突破,则很容易做出更多的成果。但做出这个选择的风险也是巨大的:(1)我将不得不补充非常多的新知识。轨迹线性化控制方法的理论基础之一是朱建朝教授在1998年之前研究的线性时变系统(LTV)微分代数谱理论,而我之前无论学习的经典控制论还是现代控制论,都很少涉及线性时变系统控制论。朱教授本身数学出身,理论功底非常扎实,选择轨迹线性化控制方法将是对我自学能力和领悟能力的一个挑战;(2)在研究的道路上,我将成为一个孤独者。假如在研究的过程中遇到困难,我连找个交流讨论的人都没有。
反之,如果不选择轨迹线性化控制方法,而是选择动态逆控制或者滑模控制这类较为成熟的方法,一是这些方法在国内已经很流行,二是我所在的实验室也已经有了多年的积累。那么,这意味着研究的难度降低、风险降低,但是也意味着我选择跟在别人的身后,放弃了可能的开创性成果。
我为做出这个选择,犹豫了很久,最后还是决定沿着轨迹线性化控制方向上走,只能说当时我隐隐约约觉得我可以做出成绩,博士毕业应当不成问题。所以,选择,既需要智慧,更多的是勇气、甚至傻气。现在想想,倒是有点后怕。
做出选择后,我当时面临的第一个困难:说服我的导师。当我告诉我的导师想做轨迹线性化控制方法方面的理论研究时,我的导师问我:别的博士都研究非线性控制方法,你为什么要研究线性方法?我知道这是轨迹线性化控制方法中的“线性”两个字给我的导师造成了误解,我完全理解他的担忧。我没有立刻反驳我的导师,而是回去找到充分的证据,然后耐心的、以导师能够理解的方式告诉他:这是一个最新的非线性控制方法,而不是一个线性控制方法。我的导师听完我的汇报之后,不仅没有阻拦我,而且给了我一些支持和鼓励。多年之后,当我看到李开复博士的自传《世界因你而不同》一书提及他的博士经历,我感触颇深。我和李开复博士一样,在博士期间能够有比较自由的探索空间,这是非常幸运的一件事情。我也因此非常感谢我的导师。
从另外一个侧面,我也想与年轻朋友分享一个我的经验:当我们在向他人,特别是领导、导师汇报时,绝不要打无准备之仗。中国人往往会将得不到支持的原因归结为别人不理解自己的想法,而不去检讨自己是否准备充分,是否以他人可以接受的方式、可以理解的方式阐述自己的观点。在我看来,因为自己没有把工作做实而丧失发展的机会,也是一大缺憾。
我当时面临的第二个困难:补充大量的新知识。为了理解轨迹线性化控制方法,我不得不从它的理论基础开始补起,主要包括两大部分:线性时变系统理论和非线性控制理论。特别是线性时变理论,我找了所有能够找到的朱建潮教授和他导师发表的论文,从头读起。只能说,朱建潮教授的数学功底着实厉害。也是在这段时间里,我慢慢养成了整理好每个论文、整理好读书笔记的习惯。因为下载的论文很多,有些论文也不是一遍就能够理解的,可能需要读很多遍。所以,为了在最短的时间找到最需要读的资料,为了将我不同时期撰写的注释都能够在一个论文之上,我不断强化自己的资料管理。下图是我读朱建潮教授的一篇经典综述性论文时,不同时期写下的注释。
时至今日,尽管我已经远离理论研究,但我能够理解民机开发规范性的重要性、文件体系架构的重要性、数据管理的重要性,都得益于当时自己再研读论文时养成的好习惯。我也很怀念那段心无旁骛,一心读书的美好时光。
我当时面临的第三个困难:如何创新?轨迹线性化控制方法不是我的原创,对于朱建潮教授来说,他可以用同样的方法,针对不同的被控对象开展研究,验证其方法有效性的同时,不断的发表论文。而我,则不能只停留在这个层次之上,原因:一是从科学进步的角度,这种重复性的工作毫无意义;二是我很难发表文章,没有文章也就无法毕业。于是,一个艰巨的任务摆在我的面前:找出轨迹线性化的弱点,然后想办法改进。通过理论分析和仿真试验,我发现轨迹线性化控制方法尽管有效,但是当实际的被控对象与用于控制器设计的对象模型存在差异时,利用轨迹线性化控制方法实现的控制律,稳定性会越来越差,直至差别足够大时,整个控制系统从稳定系统变成不稳定的系统。这个所谓的“差别”就是控制理论专业所说的“不确定性”。找到问题的根源,也就奠定了我解决问题的基础,此时,整个理论研究就很自然的转化为:如何消除不确定性对原有控制系统稳定性的影响,改善整个控制系统的性能。于是乎,我又再一次踏上不断学习,不断寻找的道路。在整个控制理论发展的许多年来,一个重要的消除不确定性思想和方法就是自适应控制方法,也即设计一个自学习、自适应的机制,其产生一个与系统不确定相反的值,该值可与不确定两两抵消,从而达到改善原有控制系统在不确定存在情况下的性能。就这样一个思想,演化出很多具体的技术,比如神经网络自适应技术,模糊自适应技术,干扰观测器技术等等。经过研究后,我准备采用神经网络自适应技术,即将神经网络自适应技术与轨迹线性化控制方法相结合,产生新的、稳定性能更好的鲁棒自适应轨迹线性化控制方法。第三个困难看似得到有效的解决。
至此,我的研究一切都看似非常的顺利,当时的时间大约已经到了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推导公式,当前我对设计文档规范性的理解、对驾驶舱设计的理解、对人为差错的理解、对软件编程规范性的理解、对民机产品开发强调过程保证的理解,等等,等等,都得益于这样的教训;
第二,我比较扎实的理论基础,得益于当时反复的理论学习和理论推导。而且我的切身体会也令我重视理论、相信理论,我认为理论的重要性就在于它能够在宏观层面指引正确的方向;
第三,尽管我是被逼的,但是我的主观能动性被充分的调动起来,为了能够按照预想的时间达到毕业的目标,我尽力把我当时能想到的和能做的事情都做到极致;
第四,我也在解决问题的过程中,结识了一大批的专家教授,并和实验室的师弟师妹结下深厚的友情,我想这是比我取得博士学位更宝贵的东西;
第五,我认为最重要的是博士经历对我的性格也有极大的改变。初中和高中,性格内向、老实稳重是大多数人对我的评价。然而,因为读博士,因为遇到的困难,我不得不变得更加主动。从博士毕业至今,我逐渐习惯于建设性的思维和积极的行动,而不是无休止的抱怨或者停滞不前。所以,当人生第一次给学生讲座,分享我的求学经历之时,我仔细的想了想,写下三句话:思路决定出路,细节决定成败,狭路相逢勇者胜!
第六,我深深体会,能力提升是以解决问题为导向的。当前中国的教育是填鸭式的功利性教育,大家一方面在抱怨教育体制存在的问题,一方面又在给自己的孩子施加巨大的压力。填鸭式的教育将孩子自主思考的时间全部占据,没有教会孩子分析问题、解决问题的能力。其实读博士并没有想象的困难,我认为一般智力的人,只要掌握合适的方法,然后舍得花上数年的时间,持之以恒,都可以拿到博士学位。因为读博士,无非就是给一个题目,或者一个方向,并且不告诉他正确答案,然后让这个人自主去寻找答案。对于这样一件事情,在美国,从幼年起便开始训练,而在中国至少在硕士毕业之前,少有人完成。所以,我呼吁那些天天逼着孩子学这学那的父亲母亲,给孩子充分自主思考的时间,哪怕孩子只是在玩儿,只要他专心致志,就不要去过多的干扰,陪着就好。
总之,无论教训也罢,经验也好,人真的只有经历过才能变得成熟,而经历往往都是要付出惨痛的代价的。所以,不必抱怨太多,静待时光就好。
再后记
总结到这里,我对当前从事的民用航空适航审定工作,对当前关注的系统工程研究和应用问题,又增添一份信心。当前形势并不比我在读博士的时候更加凶险,那个时候面临的是未知的难题,尽管最后查下来只是正负号的问题,但在没有找到病因之前,我不敢有半点懈怠。当前推行系统工程的难点在于如何从中国的实际情况出发,并与中国的实际相结合,但这就像控制理论中的李雅普诺夫稳定性原理,只要方向正确,并不断的实践,系统收敛是迟早的事情。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 08:10
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社