What's Research?

My thoughts on research and stuff here and there…

冒名顶替综合症

過去一年破天荒的參加教會團契,所以也會和人分享一些想法。認識的人以學生居多,所以多數也都會面臨人生的十字路口: 是要繼續念書呢? 還是回台灣呢? 或是要在美國找工作呢? 因為自己也經歷過這些事,所以也會分享自己的經驗,包含以前申請學校,念博班/作研究,求職,在台灣/美國工作等等。

經驗之餘,也會分享當時的心情。說起來,碩士畢業前是最不安的,因為那時真的不知道以後會走到哪去。直到經歷各種轉折後,發現不論去哪,都有神的安排,因為總是能學到東西,只是很多東西當下以為用不到而已。大概是常常在面臨人生的十字路口吧,這幾年在是沒有念碩士時那麼惶恐。看到別人不安時,也會試著去鼓勵人

可是呢,分享到後來,有時卻開始懷疑自己了。為什麼呢?

一種情況是: 你很高興的和人分享,結果對方完全聽不進去,甚至講一些反例,講一講反倒是開始懷疑起自己講的東西了。這個在帶學生時特別容易遇到。

另一種情況,是懷疑自己自己是否能一直保持這樣的心情。並不是說我過去的經驗與心情是假的,只是現在雖然試著去鼓勵人,可是以後如果再遇到人生的十字路口時,自己是否也能保持平靜? 如果作不到,我現在講的話,豈不是對人就很空洞? 更擔心的是: 別人如果真的試了,會不會害到對方呢?

最近看到一個字眼冒名頂替症候群,倒是很能解釋這個現象。根據維基百科:

冒名頂替症候群,亦稱為冒名頂替現像、騙子症候群。這個名稱是在1978年由臨床心理學家克蘭斯博士(Pauline R. Clance)與因墨斯(Suzanne A. Imes)所提出,用以指稱出現在成功人士身上的一種現像。患有冒名頂替症候群的人無法將自己的成功歸因於自己的能力,並總是擔心有朝一日會被他人識破自 己其實是騙子這件事。他們堅信自己的成功並非源於自己的努力或能力,而是憑藉著運氣、良好的時機,或別人誤以為他們能力很強、很聰明,才導致他們的成功[1] 。即使現實環境中的證據指明,他們確實具備優秀才能,他們還是認為自己只是騙子,不值得獲得成功。

不只是在和人分享的事上,在工作和研究上,也常有這樣的感覺: 常覺得如果以前作了一些有趣的計畫,其實都是運氣不錯,能找到一些沒有人想過的點能切入,然後作出一些新東西。比如博班畢業前的最後一篇paper 其實是聽完同學的報告後,突然想到也許可以利用某個數學工具來解。我也會想: 我這樣的好運,會不會那天用完呢?

冒名頂替症候群好像可以視為一種病? 我是不知道怎麼治。也許少和人分享過去的經驗,也是一個方法? 不要和人分享,就不會擔心我的建議是不是不適合別人,也不用擔心別人聽了我的建議後,下場反而會更慘。但是這招不能用在工作和研究上啊!

這幾天有些困惑,突然覺得該寫下一些事,好提醒自己:

  1. 工作/研究免不了會遇到失敗,只是因為害怕失敗而不去試,那就失去自己作為一個員工的價值。既然計畫的結果有可能失敗,那就只好多紀錄那個過程,要求自己在過程中,做好自己該作的,並試著多學一點。
  2. 和人分享自己的經驗時,就真的的只是分享,而不是扮演一個告告在上的先知。要考慮對方和自己的差異,對方的心情,用對方能懂的話語描述。
  3. 更重要的,可能是提醒自己: 在第一次決定人生道路時,自己是如何惶恐,而後來又怎樣被神帶領,讓每次意外的人生轉彎中,都學到一些事。

利用分享來提醒自己這些過去得到的恩典,是更重要的。雖然不知道自己以後會怎樣,但是能夠有過去的恩典,就值得感謝了。

寫到這裡,突然想,大概就是因為我不太虔誠,但又自問虧欠上帝,所以才覺得自己是冒名頂替吧?

 

 

FW: 提问的智慧

以前從一篇文章FW: 你要學會如何解決問題,而不是氣餒。中看到的,原本的連結壞了, 還好這篇原來是篇很出名的blog article (甚至有wiki!)

http://doc.zengrong.net/smart-questions/cn.html

有幾段不錯. 複製貼上如下:

别急于宣称找到臭虫

当你在一个软件中遇到问题,除非你 非常、非常 的有根据,不要动辄声称找到了臭虫。提示:除非你能提供解决问题的源代码补丁,或者对前一版本的回归测试表现出不正确的行为,否则你都多半不够完全确信。对于网页和文档也如此,如果你(声称)发现了文档的“臭虫”,你应该能提供相应位置的替代文本。

记住,还有许多其它用户并未经历你遇到的问题,否则你在阅读文档或搜索网页时就应该发现了(你在报怨前已经做了这些,是吧 ?)。这也意味着很有可能是你弄错了而不是软件本身有问题。

编写软件的人总是非常辛苦地使它尽可能完美。如果你声称找到了臭虫,也就置疑了他们的能力,即使你是对的,也有可能会使其中的部分人感到不快。(此外,)在主题中嚷嚷“臭虫”也是特别不老练的。

提问时,即使你私下非常确信已经发现一个真正的臭虫,最好写得象是做错了什么。如果真的有臭虫,你会在回复中看到这点。这样做的话,如果真有虫子,维护者就会向你道歉,这总比你弄砸了然后欠别人一个道歉要强。

描述问题症状而不是猜测

告 诉黑客是什么导致了问题是没用的(如果你的诊断理论是了不起的东西,你还会向别人咨询求助吗?)。所以,确保只是告诉他们问题的原始症状,而不是你的解释 和理论,让他们来解释和诊断。如果你认为陈述自己的猜测很重要,应清楚地说明这只是你的猜测并描述为什么它们不起作用。

愚蠢:
我在编译内核时接连遇到 SIG11 错误,怀疑主板上的某根电路丝断了,找到它们的最好办法是什么?

明智:
我组装的电脑(K6/233 CPU、FIC-PA2007 主板[威盛 Apollo VP2 芯片组]、Corsair PC133 SDRAM 256Mb 内存)最近在开机 20 分钟左右、做内核编译时频繁地报 SIG11 错,但在头 20 分钟内从不出问题。重启动不会复位时钟,但整夜关机会。更换所有内存未解决问题,相关的典型编译会话日志附后。

由于以上这点许多人似乎难以掌握,这里有句话可以提醒你:“所有的诊断专家都来自密苏里州”。美国国务院的官方座右铭则是“让我看看”(出自国会议员威勒 德.D.范迪弗[Willard D. Vandiver]在1899年时的讲话:“我来自一个出产玉米、棉花、牛蒡和民主党人的国家,滔滔雄辩既不能说服我,也不会让我满意。我来自密苏里州, 你必须让我看看。”)针对诊断者而言,这并不是怀疑,而只是一种真实而有用的需求,以便让他们看到与你看到的原始证据尽可能一致的东西,而不是你的猜测与 总结。(所以,)让我们看看。

描述目标而不是过程

如果你想弄清楚如何做某事(而不是报告一个臭虫),在开头就描述你的目标,然后才陈述遇到问题的特定步骤。

经常出现这种情况,寻求技术帮助的人在脑袋里有个更高层次的目标,他们在自以为能达到目标的特定道路上被卡住了,然后跑来问该怎么走,但没有意识到这条路本身有问题,结果要费很大的劲才能通过。

愚蠢:
我怎样才能让某图形程序的颜色拾取器取得十六进制的 RGB 值?

明智:
我正试着用自己选定数值的颜色替换一幅图片的色表,我现在知道的唯一方法是编辑每个表槽,但却无法让某图形程序的颜色拾取器取得十六进制的 RGB 值。

第二种提法是明智的,它使得建议采用更合适的工具以完成任务的回复成为可能。

不過, 我更喜歡原本那篇ptt的文章. 我想不只對於新手工程師,對於新手的研究生,甚至老研究員在面臨新題目時,都是一樣吧?

程式設計師的工作,大多數的時候都在想辦法解決自己不知道答案的問題。所以…

 

不懂,很正常!

 

以後只會碰到更多不會處理的問題,但是你還是要去解決,因為這就是你的工作。

 

 

沒有問題是不能解決的

——————–

 

說實際一點的話好了,你既然是新人,那麼你所遇到的問題,通常都是可以處理的。

如果真的那麼難的話,你也不會在這裡發文問這種問題了。

 

不會很正常,問題又一定有解法,那麼還有什麼好擔心的 ?

 

物來則應 過去不留

今天在搞笑談軟工看到這句物來則應,過去不留。我很喜歡這句. 上網找一下 才發現我2012已經like過這一句話. 看來我一直很嚮往這種境界.

2012是從張小嫻的一篇文章看到這句話, 但是原本的連結已經壞了. 而這篇很難找, 所以從這一處多copy一份存查.

http://dreamybookworm.blogspot.com/2013_02_01_archive.html

一直自以為是個喜怒形于色的人,我突然發現,我也是個喜歡把什么都憋在心裡的人。悲傷、憤怒、愛憎……統統都放在心裡不說出來。
 為什么要說呢?除非有一個懂你的人,你可以放心把憋在心裡的話跟他說,不必擔心他會誤會你,不用害怕他瞭解你的黑暗和軟弱之后會不愛你。可是,有時候,憋住憋住就忘了,就不想說了。
 這樣的人多么自虐?要是能夠做一個瘋子,無論有什么不高興和委屈,統統連珠炮發,寧願傷害別人,也不要憋在心裡折磨自己,這樣是不是會比較快樂?
 或者說,不憋在心裡,也不說出來,悲傷、憤怒、愛憎和我執,統統都丟開,明白生命不過是幻影,不要糾纏在這些微不足道的事情上。物來則應,過去不留。
 是的,應該是這樣。

 

念博班的動機

 

最近和實習生聊我出國申請學校的事。我第一次申請學校時,原本想改念電機(因為我覺得電機解決問題的方式用了比較多數學,比較有趣,也比較solid),但是那次申請不甚理想,就又多呆一年,改回來申請CS。

實習生說: 還好你沒轉。

我一愣:為什麼?

實習生說:現在CS要比電機好找工作多了。

我是本來就很感謝上帝讓我當時多待那一年,因為那一年學了很多工作的方法。聽了實習生的反應後,讓我覺得好像又多了一件事去感謝上帝。

但我後來想,我最感謝的,只是上帝沒有讓我離開CS嗎? 如果人遇到挫折,都想說幾年後一定會有所報償,這樣的人生也太簡單、太方便了吧? 這樣的話如果拿來安慰人,不也太浮面了?

那週我回想了一下念博班的事後,反而覺得我當時最大的恩典,是申請學校的那幾年,很清楚地知道為什麼要去念博士班。就像最近看一篇文章關於變強這檔事(四)寫到的:

在所有的動機當中,我覺得最棒的還是找出自己人生的使命。使命的契機可以是為了感謝自己生命中的某個事件人物、可以是證明沒學歷也能出頭天、可以是為了自 己的家庭撐起一片天。使命感比吃喝玩樂,小慾小愛強多了。簡單來說,就是你人生中有什麼事,比單純過得爽還要重要?如果你能夠回答,那恭喜你,你是個靈魂 豐沛的人。而這個豐沛的力量會在你艱困的時候幫助你突破各種難關。

我曾在中研院當研究助理,當時很挫折,覺得研究很難作,但我去業界工作後,卻覺得: 能夠在學校作研究,還是一件很快樂的事。研究雖難,但是能夠把問題想通,其實就很值得了。而如果能夠靈光一閃,發現一個從來沒有人想過的解決方式,並且證明這個方式的可行性,那就是最大的快樂了。

我不敢說作研究是什麼使命,我知道它很難,我也不知道自己能否作出什麼好的研究,我當時甚至也不知道自己能否申請到學校,但當我覺得作研究是件很難卻值得去試看看的事情之後,對成果反而看得淡了。如果能去,那真的是上帝的恩典,不成,至少我努力過了。

因為有這樣的念頭,在念博士班的時候心情是很平靜的,至少我並不會急著要畢業。事實上,我一直覺得自己還沒ready。

能夠用這樣的心情去念超過六年的博士班,這其實比轉電機不成而留在CS要重要的多了。我那時怎麼知道CS以後很吃香呢? 如果只是一直肖想說以後會找到好工作,而最後還落空的話,要怪誰呢? 怪上帝嗎? 上帝只是擋住我不去念電機,可從來沒有告訴我留在CS會怎樣。

但我可以肯定的是: 如果是抱著那種心情念博班,只會念得很患得患失,只會一直想作什麼都是為了要發表paper, 都是為了要出名,都是為了要成功,反而無法享受那個作研究的過程。可是,作研究才是我念博班的真正初衷,其他的,不都只是附加品嗎?

只要我真的努力了,剩下的就交給上帝吧。以前覺得這樣的心情很不錯,也會想分享給人,後來才知道不是每個人都能領略這樣的心情, 甚至我自己有時也忘了。而我在那幾年的尋求中,卻曾經得著了。這不是更值得感謝嗎?

 

文件化

如果我要去一個會議 只要我知道我必須發言 我習慣先作個投影片去組織我想講的內容. 不然的話我的講話內容會完全沒有組織。

這其實在學術界或業界是個少見的習慣. 以前當工程師時,還聽一個工程師不屑地說: 只有PM和經理才在作投影片,工程師是不需要的。而參加paper reading時, 很多時候都是講者自己看過paper 就上去寫版書了. 以前我覺得很怪,現在看多了,覺得這看講者的功力。很多人沒有投影片也可以把報告作得很好,比如我博班老闆就是個中高手。而我也知道如果投影片用得多,討論的過程有可能會比較死板。因為投影片會主導討論的方向。只是以我的case來說, 那等於是我的輔具,沒有就會把報告搞砸。

不過昨天看實習生在準備要討論一篇paper時,倒是給了我一個新的理由去使用投影片。我事先有問他有無投影片,他說沒有啊,而且他之前也沒看別人作。我當下沒啥意見。直到我後來看他meeting前又重新寫了一次小抄,我才想起來: 其實那實習生之前已經在另一個會議中報告過那篇paper 了。如果他當時有寫個投影片,他這次根據那投影片作延伸就好。

其實不一定要投影片,如果他當時有把那個小抄給數位化,寫成文件,他這次也可以省下那個額外寫小抄的時間。如果這個文件是線上的,以後別人想再報一次那篇paper, 也可以用他寫的文件當作參考。如果是投影片的形式,對方還可以再利用。

不過我不是說有文件或現成的投影片,會議前就不需要準備了。投影片是個工具,每次會議前,還是應該根據會議的目的,聽者的背景, 還有時間限制等參數作出調整。只是有個文件作基準, 可以讓每次報告都有一定水準。雖然前面說道投影片用得多,討論的過程可能比較沒彈性,但沒有投影片作引導,報告可以很好,卻也可以很差,特別是講者容易在小細節打轉太多的時候。

我年輕時就是這樣啊。老是在小細節打轉,而忽略了全貌,最後發現我和別人討論事情時,對方常常在最基本的地方就感到困惑,而我感興趣的技術細節,他們則興趣缺缺。

還好我那時經理常用投影片整理事情。我後來有次真的很想把一個bug和可能的解法給討論清楚,就學他的方式,像講課一樣,把那個bug的root cause和各種解法的好壞給列出來。那次的討論,對方的問題就少很多了。

後來常想,如果職場有遇到可以學的人,其實是要感恩的。不然我們可能只知道什麼行為是不好的,卻不知道要怎樣作才會比較好。更糟的是把不好的行為當作是好的,那整個樓就蓋歪了。

 

 

不知道就說不知道

在R&D的工作中, 常常遇到沒遇過的問題. 這不正是研究的本質嗎? 研究就是探討問題. 如果什麼問題都有了答案 那就沒有研究需要作 這當然是不切實際的.

而從研究者怎麼回應一個他不知道答案的問題 我想也可以看出他的專業素養. 我最怕遇到那種不願意了解問題 卻隨意地給出假說的 這種行為就叫作hangwaving. 還有些是不願意了解問題 卻把自己隨意給出的假說包裝成是問題的答案 這就是不懂裝懂了. 不懂裝懂之餘 還硬要去推銷這些隨便亂說的答案 要別人去測試 那就是不負責任的嘴炮王了.

己所不欲 勿施於人. 如果自己也討厭拿到錯誤的答案 就不要幹這種事. 承認自己不懂, 至少省了提問者的時間 總比上述行為要好. 這些行為對提問者毫無幫助 甚至把人帶到錯誤的方向. 知之為知之 不知為不知 是知也.

我常遇到同事來問一些軟體或系統設定的問題 慚愧的是我常常不知道答案. 但我覺得了解問題是很有趣的. 就像日劇推理劇中主角慢慢地接近問題的真相一樣. 為了要了解問題, 免不了要作一些假說 從現有的資料中推理 好驗證自己的假說. 甚至得去作實驗 產生新的資料. 有時候會發現對方其實問錯了問題 他真正的要解決的問題和現在遇到的技術問題無關, “找到真兇"後 自己就可以提供更精確的幫助了.

就像有次有個同事問我怎樣在cluster上面build mex. 因為他作了一些改動後 程式突然不再產生輸出了. 我雖不知道答案 不過就一起看看程式和log 才發現原來他的改動改變了程式迴圈的次數. 因為次數為0 當然什麼輸出都沒有了. 只要找到root cause 那解答也就呼之欲出了.

作這些事可能發表不了論文, 但我總覺得這是讓自己理解一個新問題的好機會. 也只有這樣 才能讓自己不懂的問題又少了一點 而不是永遠都在hangwaving. 為了搞清楚問題 總比死抱著自以為是的錯誤答案一輩子要好. 如果這些錯誤答案還隨便教人 那浪費地就不只是自己的時間了.

而且 遇到真的懂的人時 如果還敝帚自珍地要推銷這些錯誤的答案 其實只是讓人知道你根本什麼就不懂.

 

原則

每次被人說我原則很多 而且原則很死的時候 我就會想到虎與龍裡面的這一段話.

 

年輕時 好像覺得自己的個性有各種可能性, 直到經過各種事情 遇過更多的人之後, 才發現自己的個性其實已經很固定了. 這時又想遵守各樣的原則 很多原則到最後 就是求自己的愉快而已. 可能是從過往的不愉快中 找到一些自以為是的原則 試著去保護自己吧.

有原則 那就會有點取捨 好像也說不上取比較好? 還是捨比較好? 儘管但求不論決定了什麼 都盡量不要後悔. 可是這當然不可能, 至少會有點惆悵. 然後繼續躲到各種原則構成的保護傘之下吧.

研究員一年

昨天和幾個新的實習生聊天 他們誤以為我也是實習生 問我在那念書 我就說: 我現在就在這邊念書啊😄

後來想想 我應該說我是打雜的工友 :p

來新環境超過一年了. 這邊因為是業界lab中仍少數允許作基礎研究的地方, 所以我也接觸了很多研究導向的計畫. 而因為以前在能源部和亞馬遜的經驗 所以我在很多計畫上的角色是偏向於實務上的支援. 作一作 有時不知道是該心虛呢? 還是該感到慶幸呢? 心虛者 是因為我大概是我們team裡面最不懂computer vision的人了. 而我們lab在相關領域都一直有很多paper 所以要hire人的標準也高. 如果他們要hire的是有cv背景的人 我絕對是沒有機會的. 這大概也是值得慶幸的地方. 因為我有其他專長 所以能夠進來這個lab 作一些我一直很想作的東西.

只是我不知道自己對整個lab和計畫能否作出貢獻? 拖以前經驗的福, 我還是可以在一些實務上的任務上幫到忙. 發表論文很重要, 特別是在我們lab, 但我覺得發表論文是副產品, 真正重要的是讓整個研究計畫能夠前進. 只要計畫能夠前進, 總會有什麼東西是可以拿出來發表的. 為了讓計畫成功, 總是有不同的面向需要處理. 我們作的是應用研究. 而我相信在應用研究中, 工程仍然是很重要的, 因為工程的技巧決定實驗的品質. 我同事們強的是理論, 那我就在實務上協助大家, 因為我也喜歡keep my hands dirty, 讓我在這個過程中可以保持對於很多事的sense.

雖然想到自己還沒有成熟到可以在研究的想法上貢獻時, 不免有點心煩, 但有時候能夠在一些問題上抽絲剝繭, 然後找到解法時, 仍然是一件開心的事. 就算是處理一些工程或應用的問題, 當自己能找到root cause, 或是可以明確地reproduce 問題, 而不是只是在那邊hangwaving時, 這時就覺得自己仍然多學了一點東西 這種在工作上面得到一點知識或技能的進步, 也可以算是種小確幸吧.

隨著計畫的增加, 壓力也慢慢地大起來, 有時也真的很想取巧, 偷個懶. 但還是想提醒自己: 就算end result和所想不同, 但只要自己努力過, 失敗也沒關係的. 怎麼定義自己是努力過呢? 除了繼續寫log, 另外就是保持這種遇到問題時, 不要輕易讓自己找lame excuse, 而是努力要找到root cause的精神吧.

 

 

口嫌體正直

這個週末參加一個關於溝通的workshop. 講員把我們分成兩兩一組 然後練習一些溝通的技巧. 這些溝通技巧是以前就聽過的, 比如前傾 眼神接觸 開放姿態等等, 所以我本來不覺得很難.

但是後來我的partner卻反應 覺得我很不投入 很不尊重. 我才發現: 對齁 我的姿勢還是很防衛啊. 我們兩個坐在沙發上 但我是側身坐 用手臂防護在我們之間 擺明就是要保持距離嘛.

那為什麼呢? 其實很簡單: 因為我本來就很討厭那個人😄

我本來想說個練習並不難 應該還是可以撐過去. 但是我的身體很忠誠地反映了我的厭惡. 就是不管怎樣 我都要和你保持距離就是了.

原來這就是口嫌體正直啊…

經過這次workshop, 我有點擔心自己是不是有些壞習慣, 讓別人 (我不討厭的) 誤會.

不過 倒也給自己一個很好的藉口 讓我不用去討好那些討厭的人.

因為不管心靈怎麼自我催眠 身體是不會騙人的.

獅子吼 vs 一知半解

在職場中講話大聲的人 講的不見得就是對的. 不過現在我發現 如果你真的很清楚自己要說什麼 講話大聲也可以是一種策略.

特別是遇到一些人 明明只懂一半 可是卻認為自己已經全懂了 然後又很喜歡push別人去接受自己那一知半解的知識 這時大聲倒也有點作用. 尤其是他自以為懂的那一半 他完全搞錯了 偏偏我又多懂一點點.

比如對方以為放在AWS S3上的東西就一定是專屬於亞馬遜雲的科技 這真是錯了. S3只是個雲端硬碟 就像dropbox或google drive一樣. 任何人都可以放任何檔案 和亞馬遜一點關係都沒有. 可是講了一兩次發現對方還堅持己見, 只好給他大聲下去了. 不然對方不知道又要"灰"到什麼時候.

這種情況在我身上是很少見的 除非我覺得自己是100%懂了 但是多數的情況下 我都不敢說自己是100%懂 所以只好小聲一點.

題外話: 對於講話越大聲的人 我越想避而遠之. 大概是因為當一個人講話越大聲, 出槌的機會就越大 而每出一次槌 我心中對這個人的敬意就越少一點. 別人可能也是這樣看待我吧? 所以可以的話 講話還是小聲一點比較好.