What's Research?

My thoughts on research and stuff here and there…

念博班的動機

 

最近和實習生聊我出國申請學校的事。我第一次申請學校時,原本想改念電機(因為我覺得電機解決問題的方式用了比較多數學,比較有趣,也比較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%懂 所以只好小聲一點.

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

 

 

職場中的質量守恆定律

不知道是剛出來工作時運氣好 還是那時菜 總覺得那時身邊可以學的人很多 然後大家作事都很扎實 實事求是 不會隨便承諾.

直到年紀漸長, 才發現: 講話大聲的人 往往都是懂一半但卻相信自己已經全懂的人. 有時候別人要我根據自己過往經驗幫忙一些事. 但因為我不敢把話說死 反而就被講話大聲的人帶著跑.

這好比台灣人 愛跑醫院 但又覺得自己比醫生厲害 所以藥都挑自己滿意的吃. 當然醫生也可以不管三七二十一 硬給個答案再說. 只是我自問自己當不了這種醫生. 內心又很想好為人師 卻又不敢講 因為我也很怕被打臉.

不過 講話大聲的人 就是多數嗎? 我以前在亞馬遜 常覺得身邊都是這種同事. 但現在想想 以比例來說 這些人才20%吧?

雖然100%的話都是這20%的人講的. 但話講得大聲 不代表講的內容就是扎實的, 有用的. 這些灌水的話裡面 可能也只有20%是真的 其他都是hangwaving, 猜測, 或自我膨脹. 所以一個群體中, 不管話語權是怎麼分布 真正有用的知識 其實還是固定的. 這是我的假說, 姑且稱為職場知識的質量守恆吧?

這也提醒自己:

  1. 話不用急著講. 因為有用的就是那麼多
  2. 聽到很多東西 不順耳 過去就好. 既然真正有用的可能也不會太多 沒必要去為了沒用的東西動搖心志.

話說回來 正因為話都被那20%講完了 真正了不起 就是那些雖然沉默 但大家仍然知道能把事情作好的人. 在亞馬遜時 有個同事週末還幫我看log 純粹是因為他覺得service如果出問題 那是全體的事一樣. 他也是少數會寫meeting notes的人. 他不太主動講什麼 但是我們有系統或網路的問題 最後都會去找他.

不用說話, 品質也會反映出來. 有時覺得雜音很多時 就想想這種同事吧?

 

 

 

 

[FW] 改用便利貼就變的比較厲害…嗎?

http://teddy-chen-tw.blogspot.com/2016/04/blog-post.html

這個年頭,形式、外表、行銷、包裝這些技巧大行其道,好像用便利貼、圖像、演講技巧、行銷手段,就可以讓產品大賣,大賺其錢。至於產品的本質如何,已經沒什麼人關心。反正客戶也不懂,也分辨不出來。只要包裝得宜,名聲打得響亮,有名便可得利,口袋滿滿那就OK了啊。

使用便利貼表達想法、概念的主要目的,除了視覺化以外,應該是可以自由且方便地移動、新增、修改與刪除這些想法或概念。但是,便利貼本身並不會讓使用者(使用便利貼的人)變的更厲害,也許「看起來」好像比較厲害,但實際上並不會。大便,捏成馬卡龍,還是大便,並不會變得比較好吃。讓使用者變得更厲害的,是使用者自己(廢話XD)。唯有自己思考、閱讀、動手,反饋,然後一再重複練習,才有可能持續精進。如果認為只要「形式上」做到了,等於就擁有某種能力,那只是自欺欺人的想法,和義和團刀槍不入的騙局沒有不同。

以前我們在亞馬遜 我們一直在試不同的方法來作這些便利貼. 但是都不太持久 每幾週經理就得提醒大家要更新.

事實上我們也有很多線上系統 可以直接在網頁上移動這些虛擬的便條紙. 但是因為大家做得不勤 只好逼大家用紙本的 至少可以確定大家有在動.

形式是最容易學的. 難學的是精神 還有執行的紀律.

(Software) Engineering in (Compute Science) Research

我不是術語的big fan, 所以我也不太懂軟體工程師嘴巴常掛的框架, pattern, 或是設計. 而且, 我作的工作多半有研究性質. 研究是在探索未知. You don’t know what you don’t know. 你要怎麼幫未知的東西作設計呢?

但是工程在研究中不重要嗎?

如果compute science(CS)仍然是科學的一支, 那CS的研究, 仍然必須照科學的作法來作. 至少: 實驗必須能夠被重覆. 如果CS研究的實驗必須靠軟體開發來實現. 那即使寫軟體的目的只是prototyping, 仍然必須達到一定水準是必須的 或者說 一定程度的嚴謹. 正像其他領域要求嚴謹的實驗過程, CS也不該自外於此.

除了嚴謹, 軟體還要寫到好改 或是容易看不同版本間的改動. 因為研究的程式, 變動會更頻繁. 這不只是因為研究須要常改算法. 也是因為研究的程式常常需要被benchmark, 需要換不同的參數來作測試. 如果程式能夠寫到好改參數, 就能作出更多大規模, 完整的測試.

為了寫出嚴謹的軟體, 很多軟工的工具還是有幫助的. 有機會來慢慢地寫過去累積的經驗談.

今天只是想提醒自己:

不要以為自己是研究員 就忘記了工程的重要性. 仍然要讓keep hands dirty. 真的動手作一些實驗, 才會真的學到一點東西吧.

關注

有新文章發表時,會立即傳送至你的收信匣。

加入其他 329 位關注者