搜尋一座島

2024 年末回顧

knowledge

又到了一年的結尾,按照慣例來寫一篇文章總結與回顧。

今年還是沒有寫太多文章,或許是上班的生活能紀錄的事情也沒那麼多。

整體看來,今年依然只是慢慢的等待未來的到來,很多時間在逃避現實中度過,只希望有天能真的到達想要的狀態。

學習

語言

日語方面,雖然有持續使用自家的學習 app 學習日語,但斷斷續續,進展一直不是很明顯。

仔細回想,其實之前我大概是一直在等待,要是自己的日文能力能到達一定基礎的話,之後就能像以前學英文那樣如法炮製直接透過大量閱讀以及日日辭典來學習了。尤其對於到底能不能重現以下敘述的豁然開朗經驗實在是讓我感興趣:

以前大學的時候也單純因為對學語言有興趣,上過韓語和西班牙語的課程,但都沒有持續下去。或許是因為沒有什麼真的讓人一直持續的目標與動機吧。近年因為要逃避上班產生的焦慮,漸漸開始看起越來越多的動畫,所以有新的學習日語藉此聽懂動畫的動機,但還是不夠強烈。

要是一直這樣下去的話,能有所突破的日子恐怕會遙遙無期吧。

後來某一天,我在 Amazon Kindle 電子書推薦列表裡突然發現了《本好きの下剋上》,才發現原來美國的 Kindle 也有賣日文的電子書啊。1一時突發奇想,決心要直接開始嘗試看日文書,藉此強行建立足夠的動機。

當然直接從《本好きの下剋上》開始看起也許太難了,所以一開始選了另外一本美國 Kindle 有賣的輕小說,不過看完一章之後就覺得實在是太困難堅持不下去。經過一番搜尋之後找到了 Natively 網站,上面有一些日文書的難度列表,從裡面選了比較簡單 Kindle 上又有賣的《最弱テイマーはゴミ拾いの旅を始めました。》漫畫再次嘗試。

雖然說是看日文書,但是因為我的日文太差,所以直接像以前學英文那樣如法炮製大概是不切實際的,於是這次先用了日英辭典。嘗試了幾種之後,最後暫時是主要使用 Japanese Dictionary Takoboto 。除此之外,也使用了 ChatGPT 來解釋句子和詞語。雖然 ChatGPT 偶爾可能會瞎掰解釋,不過因為實在太方便了所以難以割捨。目標是等能看懂一部分日文解釋後再改用日日辭典。

因為看日文書還是有不小的挫折感,所以想辦法加強日文能力的的動機也變強了,於是就開始嘗試了各種不同教材。一開始試了之前用公司輔助買的 Udemy 上的日文課程。不過看影片實在看得很煩躁,感覺不太適合,就找起了自學的書籍。查來查去,似乎還是《日本語 GOGOGO》 評價最高的感覺,但因為沒有電子書,在美國實在不方便取得。最後是選了《大家學標準日本語》的 app,只看例句和講解,不看課程影片。目前初級本看過了一遍,感覺還算可以,跟直接看日文書交互前進,似乎日語開始有慢慢進步一些。至於自家的學習 app,則把焦點改放在學習 50 音上。(沒錯,雖然已經學了很久,但一直都沒有把 50 音完全背完,實在有點不理想。)

英語的部份,今年也沒有特別的練習,主要還是繼續日常生活,以及偶爾聽 Podcasts 和偶爾繼續看一些英文書籍。

技術與研究

今年用了公司的輔助買了不少 AI 相關書籍,不過因為每本書都很厚,閱讀的速度實在很緩慢。唯一比較有印象的是看了《Understanding Deep Learning》學了裡頭一些概念上的東西,算是有點收穫。雖然也買了一些工程師職涯的書,不過實在沒什麼動力看。總覺得對不斷的爬 career ladder 沒有太大意願呢。

今年還是有持續把工作裡的東西整理成論文,同時可能因為之前幫某個 workshop 審論文的關係,居然也收到了論文審理的邀約,所以也開始累積審稿數。雖然老實說審起稿來實在好累,但或許將來會有用到審稿紀錄的時機。

閱讀

今年還是看了不少漫畫,也開始看一些輕小說,不過總閱讀數量似乎比去年稍微下降。尤其 nonfiction 的部份,感覺今年常常從圖書館借了書但最後沒有時間看完就又還了回去,導致實際看完的數量特別的少。

但今年也有新的嘗試,就是開始嘗試看日文書!不過還在起步中,不確定未來會如何。

金錢

今年的開銷終於回落,目前看來假如忽略保險的話,開銷已經降到跟 2021 年差不多。今年確實因為買遊戲而導致花在娛樂上的金額比以前高,同時居住成本上升了一些,又因為做了一些檢查導致醫療費增加,可是在前公司的時候常會為了花完公司的輔助亂買一些高價的東西,加上今年的食物費減少了許多,所以最後今年總開銷只高 2021 一些。2不過,雖然娛樂開銷跟其他部份相比很小,還是希望明年可以減少購買實際沒玩的遊戲,稍微改善這部份的開銷。

收入方面則因為股市普遍表現良好的關係,也變高了一些,勉強對家計有所幫助,雖然肯定遠輸於前公司早已財富自由的前同事吧。

希望明年能順利。


  1. 之所以會出現這本應該是因為我在 Kindle 上看了英文版的《Ascendance of a Bookworm》。 ↩︎

  2. 2022 和 2023 年都有特別的大筆開銷,所以目前工作以後還是 2021 年開銷最小。不過如果把保險也算進去的話,因為前公司醫療保險好像比較高級,所以如果把公司付的保險費全部都算進去的話今年開銷就會比 2021 年小很多了。不過公司付的保險費到底應不應該算成一種開銷或許仍有爭議。 ↩︎

2023 年末回顧

knowledge

2023 年就快結束了,今年依然是在辦公室工作、部份時間在家上班。回顧起來,似乎數年前完全在家上班的時候工作起來壓力比較小呢,雖然也可能是當時職等比較低的關係也不一定。

最近還是沒有寫太多文章,或許是上班的生活能紀錄的事情也沒那麼多。

今年依然是充滿許多不確定性的一年,不知道之後能不能成功到達想要的未來呢?

學習

感覺 2023 年好像大部分時間是渾渾噩噩的就過去了,在學習上似乎進展並沒有特別滿意。

技術

今年就沒有繼續練習程式解題了,倒是用了公司的學習輔助買了不少機器學習和軟體工程的書,只是也還沒有看。

語言

雖然去年嘗試練習英語的會話能力,但後來就沒有辦法持續,也許是因為已經沒有特別的動力去加強這一塊,僅有 Podcast 的部份有持續聽下去。

另一方面,因為公司有一些鼓勵使用自家學習 apps 的措施,所以又開始學起了日語來。順便也在接近年末的時候用公司的學習輔助買了一些日語課程,不知道之後是否會有動力上下去呢?

閱讀

今年還是看了不少漫畫,總閱讀數量比去年稍有上升。稍微紀錄一些看過的書:

  • Sapiens: 滿有趣的關於人類歷史的書,感覺學到一些看事情新的角度。
  • Chip War: 感覺學到了許多台灣半導體產業的歷史,算是滿有收穫。
  • The Alignment Problem: 雖然前面的 bias 之類的並沒有太多新意,但後面的 AI safety 章節還是學到了一些有趣的東西,對了解現在常有人在討論的 Existential risk 背景有點幫助。

金錢

今年的花費按照目前的記帳來看(因為公司提供的健康保險價值尚未得知,所以去除保險後計算)雖然正常的花費似乎比去年和前年還少,沒有受到太多通膨的負面影響,但因為一些複雜的原因,多了頗為昂貴的律師費和規費,以至於年開銷達到了 all-time high 了,希望明年的開銷能回落到正常的狀態。

今年的收入雖然比較少,但也許是因為加息的關係,利息和股利收入也來到了 all-time high。

資產增長方面,因為今年股市表現不錯,所以依然有穩健的上升,但明年經濟風險依舊很高,感覺錢途不明。

2022 年末回顧

knowledge

還有幾天 2022 年就結束了,今年是第二個在美國完整度過的工作年。去年都在 WFH,但今年差不多已經算是回到辦公室上班,不過每週大約還是有兩三天 WFH。

開始寫起回顧文才發現過去一年居然完全沒有發表任何文章,感覺真的是太過忙碌了。

今年可以說是變動的一年,國際情勢有許多的不安,景氣也開始轉壞,對未來的不確定性多了許多徬徨與焦慮。

新的一年,希望能順利渡過難關,前往想到達的未來。

學習

2022 的學習方向有了更多的廣度,但每個方面的進展卻不是十分令人滿意。

技術

為了提昇程式解題的能力,今年又開始練習了 LeetCode 和其他解題系統的題目。因為題目實在太多,這次主要是針對 NeetCode 150 列表裡頭的題目慢慢練習,但偶爾也會解一些隨機的問題。最後解了大概 170 題左右,在 LeetCode 上提交了快 400 次。老實說和其他鄉民分享的解題數相比,實在不能算是很多。

此外,也試著加強系統設計的功力,一開始是先看了 Distributed Systems Course 但感覺也沒什麼進步的感覺,所以又訂閱了 Educative,原本是想要學一些像是 Grokking the System Design Interview 的課程,但是後來雖然花了錢,卻沒有實際上到多少課,主要還是心力不足。

最後決定買了知名的 Designing Data-Intensive Applications,雖然看的速度緩慢,但打算繼續看下去,希望能加強一些不足的知識。

整體來說,程式解題的部份算是有溫習到一些,但系統設計感覺就沒什麼進展了。

語言

今年停止了日文的學習,把精力轉向增進英語的聽說能力,希望能抵抗之前因為疫情關在家裡而可能減弱溝通能力的影響。

一開始的時候先是在網路搜尋了一些常見的 Behavioral Questions,然後寫好每個問題的答案,再實際練習說說看。不過這部份並沒有實行得很完全,反而是後來透過實戰練習了數次。

此外,開始嘗試了使用一些會話的 Apps,像是 cake 以及 ELSA Speak。雖然用了公司的學習輔助訂閱了下來,但學起來還是斷斷續續的,並沒有辦法維持很長的 streak。

ESLA Speak 有很詳細的發音 feedback,感覺長期使用或許對發音有所幫助。但總覺得很多字似乎都無法成功達到良好的評分,不知道是我發音真的很差,還是麥克風或者語音辨識的問題呢?搜尋了一下,也找不到太多台灣人使用的心得。

cake 則主要用來做對話模板的練習,希望能夠提昇平常對話的反應力。

另外一方面,也持續去年開始的 Podcast 習慣,但已經放棄在通勤的時候聽,果然還是覺得要對周圍環境更加警覺比較好。

閱讀

和去年相比,感覺 nonfiction 的閱讀數量略有下降,倒是看了不少漫畫。整體來說還是比 2020 年之前幾年多,果然去年開始從圖書館借書的作法還是有點效果。今年另外嘗試訂閱了 Perlego,但感覺因為平常時間運用效率不高,加上不能在 Kindle 上看,眼睛容易疲累,所以並沒有像預期的一般看很多書。也許之後就不再續訂了。

今年因為有很多有趣的 AI 發展,加上自己也有一些私人因素想嘗試做一些研究,所以開始試圖增加論文的閱讀,雖然進度依舊緩慢,但算是踏出了第一步。

健康

今年的健康感覺沒有太大的變化,但不得不承認,隨著年紀變大,似乎越來越多不可逆的小問題慢慢累積。究竟還有多少年可以持續呢?

今年末期因為辦公室變得離家更近了一些,所以改成走路上班,感覺運動量算是有增加。

金錢

今年的花費按照目前的記帳來看(因為公司提供的健康保險價值尚未得知,所以去除保險後計算)似乎跟去年相比增加了不少。部份的原因或許是因為想要消耗掉公司的 FSA 剩下的錢,以及消耗掉 $3000 輔助福利,所以買了一些不見得需要的東西。但除此之外,也因為手上持有的許多電子產品已經用了許多年,恰好都在這個時候換新了。希望明年這部份可以節制一點。此外,因為開始通勤的關係,增加了許多交通費,但因為公司有提供午餐,購買食品雜貨的消費則略有下降。

資產增長方面,因為今年的經濟表現不好,加上去年開始持股比例上升,所以原本持有的資產一直縮水,所以即使今年的收入比去年還高,資產增長的幅度卻遠小於去年,人生果然很難。因為各種原因,明年預期收入會比今年還少不少,加上經濟風險依舊很高,感覺錢途不明。

2021 年末回顧

knowledge

還有幾天 2021 年就結束了,今年是第一個在美國完整度過的工作年,雖然嚴格來說因為疫情持續所以也不能算是個正常的工作年就是了。今年大部分的時間還是待在家裡 WFH,但也開始偶爾到辦公室工作了。

因為工作疲累的關係,生活上似乎沒有太大的改變。但也做了新的一些嘗試。

新的一年,希望能堅定自己的方向,找出更好的未來。

學習

跟前幾年相比,2021 年的閱讀量似乎有所提昇。閱讀的廣度也上升了一些。其中的一個關鍵也許是因為意識到自己以前在台灣的學生時期因為常去圖書館,所以常會借一些書來看。而在美國的時候因為沒有去圖書館,主要的閱讀是來自網路上買來的書,可是可能因為潛意識想要省錢,所以限制了看書的數量。

今年做了一些新的嘗試,像是試用了 Kindle Unlimited 之類的訂閱服務,雖然最後沒有持續訂閱(因為主要想看的書是科普纇的,不過這類訂閱似乎是以小說為主流),但確實在試用時多看了一些書。另一方面,提起勇氣,去了匹茲堡當地的圖書館逛了逛。雖然結果藏書似乎不像台灣圖書館那麼多,但是圖書證可以用來在 OverDrive 上借很多值得看的電子書,簡直是打開了新世界。

技術方面,今年實在是沒什麼特別的進展。老實說今年的下班時間過的感覺相當糜爛1,不是十分令人滿意。雖然有嘗試進行時間表的排程,然而一直都沒有意志力去實際執行,導致大多數的時間都在不知不覺中度過了。一直到年尾的連假才終於有了比較強力的控制,可以用來進行一些新的學習,只可惜連假結束後感覺又要打回原形了。(老實說用連假來進行生活的重新控制實在讓人很難回答同事偶爾問起的「連假有什麼計畫?」這種問題,畢竟一般人的「計畫」應該是要去哪邊玩才對,而不是用來重新穩定生活步調。)

今年的一些其他新嘗試包含了重新拾起很久沒學的日文,找了一些網路資源開始學起,不過只持續了幾個月。最近連假有時間,又測試了一些像是 Duolingo 的 App,希望能維持一定的步調使得明年能夠持續。

另一個新養起的習慣是開始聽一些 Podcasts,平常下班後的時候偶爾就聽一個節目。目前還沒嘗試在通勤坐公車的時候也透過 Podcast 來運用零碎時間。但明年通勤時間增多了以後應該會希望能嘗試看看。

另一方面,因為自己在工作中溝通的時候常常有點耗力,連假的時候下定決心要來嘗試提昇口語對話。目前先用一些口語問題每天練習。明年的話,根據情況,也許也可以試試看參加一些付費的口說服務也說不定。

在研究上,工作外幾乎沒什麼進展。除了因為工作疲累外,有部份的原因大概是因為工作外如果進行一些開放原始碼專案的話,還要跟公司申請同意,因為覺得麻煩,就不太想做了,所以也沒動力寫什麼技術文件。

新的一年希望能繼續學習,找到自己的步調。

健康

這幾年因為 WFH 待在家裡太久了,可能久坐的關係,感覺身體逐漸變差。雖然因為這樣下定決心買了 standing desk,可是感覺已經造成了某種程度無法逆轉的損害,覺得非常後悔。早知道 2020 年那時就該直接買個 standing desk 才對,可是事到如今也已經無法回溯了。

然後就注意到其實自己年紀也不小了,突然就有種也許人生也許剩下時光也已經不長的感嘆。希望未來能多花一點時間做自己想做的事,過理想的生活。但要達成這個目標,還得做不少努力才行!

今年雖然時間表上一直有運動和冥想的項目,不過到頭來幾乎都沒成功執行。感覺其中一個原因是之前的運動規劃都有點複雜,導致需要較大心力來維持。最近開始嘗試透過最簡單的運動來降低阻力:單純一邊走路一邊聽 Podcasts。近日的早上都還算有成功執行。希望能成功養成習慣,之後再慢慢調整。

今年第一次嘗試在美國看了牙科和眼科(主要的動力其實是想把 FSA 裡頭的錢花完 XD),之前都是去醫院看一般的病。發現牙齒似乎有點小蛀牙,所以就補了一下,還好有去看!發現美國的洗牙感覺起來似乎跟之前在台灣有點不同。感覺台灣的時候似乎比較激烈,還會流血。美國感覺就比較溫和一點。不過因為經驗不多,也不確定是否是普遍現象。

新的一年希望能夠平安度過。

金錢

今年的花費按照目前的記帳來看(因為公司提供的健康保險價值尚未得知,所以去除保險後計算)似乎比去年又降低了一點。仔細一看,從 2018 年搬來美國以後,每一年的花費似乎都有降低。

  • 2018 年主要是因為有買機票以及一開始沒有拿到 tuition waive,付了高昂的學費,是以總花費特別的高。
  • 2019 年還是有買機票,同時又買了筆電,加上是第一個待在美國的完整年,所以房租費用也有所上升。不過因為學費實在太貴,所以拿到 tuition waive 以後整體花費還是比 2018 年還低了一些。
  • 2020 年雖然沒買筆電,但因為搬家加上買了不少 WFH 用具,所以整體也只比 2019 年低了一點點。
  • 2021 年雖然還是有買一些 WFH 用品,像是 standing desk 和新的螢幕之類,不過最後又比 2020 少了一點。
  • 明年的花費難以預期,感覺隨著通膨的進展,也許有機會會反彈上升。

資產配置方面,2020 後半年後因為有了穩定的收入,開始將以前維持的原本打算用來付學費的現金逐漸加入了股債平衡裡,2021 年以後也是維持類似的策略。前半年因為一直激進的把退休帳戶的 contribution 調高到薪水全部被扣光的地步,所以逐漸消耗原本持有的現金存量,算是來到歷年的低點。感覺在目前異常高檔的市場裡,也許風險還滿高的。

2021 年因為是第一個在美國完整的工作年,所以資產增長的數字也是在記帳紀錄裡最高的一年,感覺離目標越來越近了。新的一年希望能穩定的繼續增加資產。


  1. 今年感覺下班之後,花了不少時間泡在社群網站裡,之後應該要節制一點。另一方面,今年還看了不少的動畫。說起來以前其實沒有追動畫的習慣的,大概是在 2019 年末訂閱了 Hulu 之後,看了魔法少女小圓後就一路追起了動畫來。 ↩︎

15-780 - Graduate Artificial Intelligence – CMU 修課心得

ai

課程資料

15-780 - Graduate Artificial Intelligence

開課:J. Zico Kolter, Nihar B. Shah

修課年度:2019 Spring

這個課程主要是介紹 AI 領域,並挑選一些有趣的主題深入探討。因為其他的課也有像是機器學習之類的深入內容,所以這門課特別挑了一些比較不同的主題來介紹。

課程的開頭先從基本的 search 教起,並介紹了 A star 搜尋演算法。之後開始深入介紹一些 optimization 課題,包含 convex optimization 的觀念、Linear Programming 以及 Integer Programming。在那之後進入一般的 Machine Learning、Deep Learning 以及 Learning Theory。接下來則介紹了一些 Probabilistic Modeling 的概念,像是 MCMC,以及 Adversarial attacks

後半部課程則深入講了許多 Game Theory 的概念,是筆者先前比較少了解的。此外也探討了一些 Social Choice 的課題,像是投票制度的數學性質等等。最後則稍微帶過了使用機器學習時要如何保持公平性的議題。

上課方式

兩名講者的講課方式稍有不同,第一位主要是用簡報講解,第二位則是使用黑板講解。上課的時候會有隨機小測驗,不管答對與否都能得分,以作為點名之用。

比較特別的是這堂課採用了一個叫做 Diderot 的系統作為繳交作業和討論的平台,而非使用較為常見的 Piazza 或者 Canvas。

考試作業

考試的部份除了平常的小測驗以外,還有一次期中考和一次期末考。難度感覺比機器學習簡單,不過也是有一定難度。考前會公佈考古題,但題目其實都不太一樣。考試是閉卷考,所以不能參考資料。

主要的作業有四個,還有一個團體期末 project。

作業的部份也是主要證明解題,加上一些程式題。證明題的部份比機器學習簡單,程式題的部份比機器學習難一些,但基本上不算複雜。

分組的期末專題可以自選任何主題,但需要與課程內容相關。需要繳交一開始的 proposal,期中報告,期末報告,和錄製 4 分鐘的報告影片。值得注意的是專題的佔分還滿高的(30%),期中期末考加起來只有 20%。

結語

整體而言感覺是學到許多有趣東西的課,作業的部份難度適中,寫起來還算有成就感,也不至於花去太多時間,給分也相當不錯。對筆者來說比較新鮮的部份是 Game Theory 和 Social Choice 之類的主題,還有像是 optimazation 的部份也學了不少。或許可為未來進修進階 Convex Optimization 課程打好基礎。筆者覺得算是值得一修的課。

10-701 - Introduction to Machine Learning – CMU 修課心得

computer

課程資料

10-701 - Introduction to Machine Learning (PhD)

開課:Pradeep Ravikumar, Ziv Bar-Joseph

修課年度:2018 Fall

這是一門非常數學的課,基本上就是以數學的角度來介紹機器學習這個領域。

一開始先從機率的角度切入,像是介紹一些 Bayesian Estimation; MLE; MAP 等等基本概念。然後就開始介紹各種機器學習模型:kNN; Kernel regression; Linear regression; Regularized, Polynomial, Logistic Regression; Decision Trees; SVM; Neural networks 還有像是 Ensemble Methods 等等。

上面說的比較多是 supervised learning,但也會提到像是 clustering、PCA、ICA 等等非監督或者是特徵轉換的方法。也有說到一些 learning theory 像是 VC-dimension 不過沒有講的非常深入。

最後則會把重點放在 Graphical models,像是 HMM, CRF, Bayesian network,還有講到一點點的 Reinforcement Learning。

上課方式

因為想修這堂的的人非常多,所以筆者只選到線上版的課程。雖然是線上版,不過還是要在上課時間上網看即時的轉播。講者會在上課途中隨機使用 Piazza 舉辦小測驗,用來計算出席分數,雖然即使答錯也有分數,不過筆者還是很認真的聽講並作答。但有些題目真的也有點困難。影片因為會錄下來,所以事後也可以複習。

上課主要就是使用投影片來講解。這學期是兩個老師合開,所以不同的主題會是不同的老師來教。

除此之外還有 recitation sessions,不過筆者通常沒去。而期中期末考前,會有一起解考古題的複習課程。不過實際上考出來的東西跟考古題根本不太一樣。

Piazza 課程討論區,平常有很多學生發問,助教也通常很快回答。作業則是透過 Gradescope 繳交。

考試作業

除了上課時的隨機小測驗有答有分外,還有一次期中考和一次期末考,是開卷考試。但難度算是相當困難。筆者或許是太久沒考試了,所以在期中考考了非常差的成績。幸好其他的部份還能補的上來。

作業的部份有四個,都是數學證明為主,但也有一些小程式。會提供 LaTeX 模板,然後最後要上傳 PDF。

整體來說程式的部份非常簡單不太花時間,但是數學證明就會花掉大量的時間。而且也頗有難度,所以並不容易拿到滿分。實際上筆者覺得這門課算是作業滿重的。

除了考試作業以外,最後還有一個分組 final project,從一些指定的主題當中選擇。筆者是選了 lip reading。Project 的部份感覺只要有花心力就能拿到基本的分數,並不要求做到有研究價值的 novelty。所以其實筆者在這個分組作業上也沒有花太多的心力。主要是要繳交一份報告,以及製作海報並向助教講解自己所做的東西,而不用繳交實際的程式碼。

結語

說起來筆者一直都沒有非常正式與完整的學習機器學習,當初只有在 Coursera 上上過了幾堂課而已,所以這次算是終於完整的複習了一遍基本的概念。感覺在機率性的解釋上終於有了比較好的理解。

有些部份其實覺得台大的機器學習基石技法講的比較詳細和容易理解,尤其是 SVM 的部份,考試前筆者還是用了以上兩個影片來惡補一番概念。

評分上,跟 Machine Translation 機器翻譯比起來,感覺這是一堂很可以拿到 A+ 的課。只是筆者期中考的太差所以其實也沒有拿到。

因為評分的項目非常的多,加上數學證明也很花時間,所以整體上這門課吃掉的時間應該是比 Machine Translation 還多了不少。

11-731 - Machine Translation and Sequence-to-sequence Models – CMU 修課心得

computer

課程資料

11-731 - Machine Translation and Sequence-to-sequence Models

開課:Graham Neubig

修課年度:2018 Fall

上課的內容可以在課程網站上找到:Machine Translation and Sequence-to-sequence Models

主要是介紹各種 deep learning 在機器翻譯上的技巧和應用,不過也會介紹一些比較傳統的機器翻譯方法。

主題包括一開始基本的語言模型Seq2Seq 架構、Attention、Self-Attention 和 CNN 等等。後來則有各種情境的訓練方法,像是同時進行多種語言的翻譯,如何處理資源稀少的語言,如何使用沒有標記的資料增進模型的效果,Subword 模型等等。

上課方式

筆者上的時候,講者會在每次上課的前幾天放出上課的講義。然後每次上課就會考一些簡單的關於該講義的題目,確保大家會預習。

上課的時候就直接使用該講義聊聊相關的話題,或者一起看一些相關的論文。感覺相對於事先設計簡報的課程,稍微比較沒有組織一些。但課程內容會引入許多新鮮的論文,所以能夠學到一些最新的技術。

有 Piazza 課程討論區,不過平常幾乎不太有人在上面發問。作業程式碼則是透過 GitHub 繳交。

考試作業

考試的部份就只有每次上課前的小考,通常是只要有看講義就答的出來,是屬於比較偏知識性的考試,而不會有數學計算之類。不過也有時候會碰到不太確定答案的問題。幸好會把最低分的幾次考試去除計算,所以小考要拿滿分應該是有可能的。

主要的作業有三個,都是團體作業,所以一開始就要分好組別。

第一個作業是實做基本的 sequence to sequence 模型來進行機器翻譯。助教會提供基本的程式架構,但實做基本上都要自己來,也不能引用現成的程式碼。

筆者修的時候因為之前沒用過 PyTorch,也沒實做過語言相關的 deep learning 模型,所以第一份作業花了不少時間。

第二個作業每次好像都會是不同的主題,筆者當初修的時候是沿用第一次作業的機器翻譯模型,去處理資源很少的機器翻譯。主要就是實做一些論文裡提到的方法,透過較多資源的語言來幫助較少資源的語言。

因為其實沒有指引實做哪種比較好,而且同樣不能引用已經存在的程式碼,所以能不能達到較好的效能也有一點運氣的成份。雖然我們是以基本的 LSTM 模型做為基底,但後來發現其他效能很強的組別大多都實做了 Transformer

最後一個作業其實就是 final project,可以做任何跟 seq2seq 有關的主題,同時也可以引用任何已存在的程式碼,基本上就是當作像正常在做研究寫論文一樣。我們這組是嘗試使用了 Capsule Networks 來進行機器翻譯。整體上來說其實花的時間反而比其他作業少,或許是因為期末太忙加上沒有明確評分規定,所以就自動放鬆了。

每一份作業都是要繳交程式碼和一份報告,不過期末 project 還要做個海報然後在某個時間和同學分享。因為作業會用到大量的 GPUs,所以也會分發一些 AWS credits,不過筆者的經驗感覺這些 credits 有點不夠,如果不是實驗室也有 GPUs 資源,或者是自己有 GPUs 的話,可能修起來會有點辛苦。

結語

事後回顧,雖然當初修起來有點崩潰,但其實若不是因為對 Seq2Seq 模型沒有任何實際的經驗,作業本身其實也不是太複雜。感覺若能事先寫過簡單的專案,應該能更加游刃有餘。

尤其,雖然不能引用其他人的程式碼,但是卻可以引用自己以前寫的程式碼,所以如果早就寫過 NLP 的相關應用或者就是做過了機器翻譯的專案的話,作業一和二或許是可以迅速完成的。而如果以前曾經自己實做過 Transformer,也會有相當大的優勢。

另外就是,由於是分組作業,所以難免有些溝通和協調的事情要煩心。可能也是當初覺得崩潰的原因之一。但或許也有人很喜歡分組作業也不一定。

評分上,感覺其實有點硬。雖然如果要達到 A 還算可行,但最後的 project 因為是當成真正的研究在評分,所以除非真的做了非常 novel 的東西,不然幾乎是難以得到 A+ 的。

在課程中能夠接觸到許多最新出來沒多久的論文,若是對機器翻譯有興趣,應該相當有幫助。同時透過實做,學到了機器翻譯的基礎技術。不過因為很多主題都是很快帶過,所以比較不像大學部的課一樣會很有組織的習得知識。而比較多自己摸索的部份。

整體來說,筆者在這堂課最大的收穫大慨是練習了很多 PyTorch 在 NLP 應用上的實做和實際訓練。對第二學期之後的學習有很大的幫助。

選擇興趣還是選擇前景?

play

「本來大一讀外語,但後來考慮到出路與前景,工作被取代機率高,還有家裡經濟等因素,就下定決心轉系了!」

如果只是靠著「因為讀外文會餓死,所以我要轉CS賺多一點」這種心態學程式,很容易在遇到瓶頸時因為無法突破而想放棄。

〈Re: [請益] 轉到資工不太適應〉

總記得我大學的時候好像還覺得興趣最重要,如果沒興趣就別讀資工不如選其他的領域,才能讓自己發光。可能還在 BBS 上筆戰過這個話題。

不過出了社會以後才發現,其實老是說興趣,實在太不現實。就像如果有人的興趣是旅行的話,根本也不見得能用這個興趣養活自己。更深一層的是就算可以養活自己,一旦這個興趣真的變成工作的時候,其實會有一定機率他就不再那麼有趣了。

比如說像是這篇舊文〈[閒聊] 興趣最重要?〉說的: 「這些當時我們都覺得是『興趣』所在的,有一天它變成了『工作』,似乎已經不再那麼有趣了…」

然而像當時一樣不太知道世界法則的狀態,其實在各種方面來說也很幸福呢。

雖然偶爾也會想勸告沒興趣的人們,應該離開尋找自己的天命。

但其實真正的現實是,很多其實沒興趣的人,在該領域的成就還是能勝過很多覺得自己有興趣的人。因為那些覺得有興趣的人,很可能在許多人生抉擇上,選擇了更符合自己的興趣,而不是更有發展性的路。理解了這點以後,就不太敢因為別人宣稱沒興趣,就鼓吹他轉領域了。因為搞不好他反而最後發展得很好啊。

能夠做自己興趣的工作,該是多麼幸運的事。但即使有幸找到這種機會。也常常會讓自己陷入兩難之中。

因為萬一做了有興趣的工作才發現即使自己投入那麼多,還是無法達到好的表現。或許也會因為太過在乎而挫折很深。如果是自己本來就不是很在意的領域,說不定遇到挫折,也比較不會難受。

以前還曾想過,若要低成本的實驗看看這個假說的方法就是去打工,然後打工的時候做得很不好,被老闆罵到臭頭。再來觀察自己的心理反應。不過最後也沒什麼時間進行這個實驗。

再來,就算待在有興趣的領域,也會有很多同領域中的職涯選擇,表面上看起來會是在快樂和發展之間的抉擇。

而當你想選快樂的時候,就會幻想社會有各種「應該要有上進心」、「要有國族大義」、「要有養家的責任感」等等之類的責備。使得就算其實你的物慾很低,還是忍不住選擇了相對而言可能稍微不快樂一點,但卻比較符合正常價值觀的路。那麼就讓自己陷入矛盾之中。若要選的是前途,為何待在有興趣,卻不是最有前途的領域呢?若要選的是快樂,為何卻做出實際上不快樂的職涯選擇呢?

不過也許許多選擇本來就是折衷,要維持完全的一致性,也是件難事。

而到底哪種選擇比較好,可能是見仁見智。

只是以前的我總是幻想,只要選快樂的那條,自然就會因為投入很多,最終同樣到達較有成就的結果。

但現在的我卻不那麼確定了。

需要很大的勇氣才能夠在知道無法達到較有成就的結果的情況下,還是不畏他人眼光而選擇快樂的路。

而反過來選擇即使不快樂,也不畏困難繼續堅持工作而達到成就,也同樣需要勇氣。

其實說起來有的時候會很佩服以前一些在及格邊緣,挫折很深,卻始終沒有放棄最後終於畢業的同學。如果是我的話搞不好早就太挫折而放棄了。

想想更大的困難或許是許多情況下人根本不知道自己真正喜歡的事物是什麼,但全部通通試一試又太花時間了。就算有人跟你宣稱全部科系都讀一遍大學就有百分之 90% 的機率找到你喜歡又有工作的領域,在讀完前也早就破產餓死了。

而工作中的各種職涯選擇更難得知會有什麼結果了。於是在各種矛盾之中,也只能以已知的線索做決定,並且看看會發生什麼事,同時繼續前行了。

練習的心態

前陣子偷偷混進了英辯的活動,懷念了一下過往時光。在休息的時候突然有人搭起話來,聊著聊著就聊到為何要來英辯呢?1

「因為平常太壓抑了,難得可以發洩一下。哈哈」

「好特別喔。一般不是要覺得英辯壓力很大嗎!怎麼反過來覺得很抒壓。」

雖然有點難解釋,不過其實我還真的認真的想過這件事要怎麼解釋。

首先是英語。

平常因為個性的限制,總是怕東怕西。對我來說語言是有重量的,說出的話就形成了某種形式的承諾與限制2。由於太過沈重,所以除非我故意去克服,否則自然狀態下我通常會偏向不確定和語帶保留的語氣。

但是如果是用英語之類的不熟悉的語言的話,其實我就感覺不到語言背後的重量了。(!)

也因此,即使比較無法熟練的操作語言的力量,卻反而可以更自由操作語言的力量。因為即使隨便亂來,也不會那麼強烈的感受到羞恥構成的枷鎖。

此外,辯論的環境也是個原因。

因為在那樣完全架空的世界裡,可以更自由的變換立場,操作不同的思考模式,測試不同的邏輯思路。而幾乎不用考慮太多後遺症。那是一個可以安全「練習」的環境。

是呀,只要說是練習,彷彿就能突破原本的限制。

記得大學時曾經這種心態發揮到極致,在某個比賽時雖然根本什麼都沒做,但卻因為覺得上台演示作品也是個很好的練習。就硬把一些其實根本沒什麼的功能用很華麗的語氣介紹了一下。直到發現隊友都用眼神表示該快點下台了才發現有點得意忘形了。

事後因為羞愧感湧了上來,還認真的寫了道歉信給評審,雖說也沒人回,大概也不見得有被看到吧。

其實這實在不是什麼光彩的事,但每次只要想起它就會覺得,不管遇上什麼事,只要成功轉換成練習心態的話,一定就能超越羞恥感,打破原本的道德枷鎖,做到原本做不到的事吧。

而利用短暫脫離羞恥感的狀態好好練習,或許就能變成更強大的存在,擴大自己的舒適圈,使得下次即使不再如此掙扎,也能做到原本做不到的事了呢。

對於我來說,英辯的感覺就有點像這樣,是個暫時可以擺脫平時壟罩的壓抑感與羞恥感,短暫得到練習心態,並藉此成長的機會3。是讓自己能夠看見自己展翅飛翔可能性的瞬間呢。

chess.jpg

  1. 實際上我已經忘記這段對話的實際內容了 XD。 ↩︎

  2. 「對我來說,與人的連結,與對話,產生了某種無法忽視的承諾與壓力,使得自己即使不完全相信別人的意見,還是會深受他人影響。」 ↩︎

  3. 寫到這裡突然覺得,如果本文的分析真的正確的話。理論上我應該會有一定的機率也喜歡演戲才是。因為乍看之下這好像也是一種可以自由練習更多平時無法練習的表情動作的活動。只可惜人生已活到這個階段,也不知道以後有沒有機會測試這種可能性了。 ↩︎

第一代大學生?

Don’t give me that victim shit, Alyssa.

We can all do that. “I’m anorexic because I was adopted."

“I cheat on women because I wasn’t breastfed.”

Everyone has a reason for how they behave.

What’s yours, then?

The End of the F***ing World

最近看著一些申請的文件,發現很多的學校不知為何都要填父母的學歷,仔細查查好像有兩種說法。其中一種是如果父母有很強的淵源,出自相同的學校,則會有影響。另外一種則跟所謂的第一代大學生 (first-generation college student) 有關,也就是父母都沒讀過大學的學生,在申請大學部時也會有影響。

第一代大學生?之前好像沒聽過這種說法?會不會是因為台灣這種才剛從沒什麼大學轉換到廣設大學的所在,幾乎大家都是第一代大學生,所以才沒什麼值得一提的?

You can be a first-gen if you are the first person from your family to attend college, or if your sibling went and you are going, too. The important part is that your parents did not attend and you are doing so. That makes you a first-gen.

Being a first-gen can be scary, intimidating and confusing because you are like a pioneer, going somewhere with no guide and finding your own way.

https://www.collegemapper.com/blog/2014/01/what-it-means-to-be-first-generation-student/

因為從來沒想過這種標籤,所以稍微想想也頗有興味。也就是說,如果把這個標籤放在我身上,我,身為第一代大學生,到底有什麼差別?然後我才突然發現不就是那些對選擇的疑惑與無助嗎?

若不是因為網路和書籍為我打開知識的大門,或許還困在小小的世界裡無可自拔。但即使有了書和網路,還是有些社會資本和人生決定的指引,是無法輕易獲得的。仔細想想才覺得驚訝,大學以來的所有人生決定,不管是讀研究所與否、要去哪個實驗室、實習該選擇哪裡、第一份工作的選擇。雖然或許也有向人打探蒐集情報,但在兩種,或多種選擇之間,要如何權量、如何選擇的這個決定本身,幾乎都是在沒有請教別人的情況下就自行決定了。「真的都不覺得可怕嗎?」要是真的確信自己的選擇也許也還好,可是實際上總是不能如此確信的。

理論上這種時候需要的就是所謂 mentor 的存在1,然而即使知道如此,根據過往的歷史,也不禁懷疑,真的會有天我會有能力對任何一個人放開心胸全盤托出嗎?稍微跟我聊過的人,或許就會很驚訝的發現,其實我願意像這樣寫在網誌上的自我揭露,搞不好還超過我願意當面說明的部份。

當然也可以解釋成我只是小時沒有受過太多聽取人生意見的經驗所以不夠擅長這種事。但最近漸漸覺得我很少問人意見或許是因為我害怕受到那些意見的束縛。該怎麼說呢,覺得自己總是常常不夠堅定自我,以至於常常會因為說不過人,被迫改變自己的決定。

對我來說,與人的連結,與對話,產生了某種無法忽視的承諾與壓力,使得自己即使不完全相信別人的意見,還是會深受他人影響。因此為了逃避這種壓力與承諾,不如一開始就不要產生連結。2可是如果是寫在這裡的話,我不需要說的過任何人,只要直接寫就行了,相較之下簡單的許多,所以就變成這種奇怪的狀況了。

無論如何,學歷賦予人的力量確實是強大的,才剛進入社會幾年,我的薪水很快的就超越我原生家庭所有薪水的總和。實際上,假設我不要想不開跑去唸好多年的博士之類的,那麼依照資產累積膨脹速率的估計,搞不好同樣的時間之內我的個人名下資產就有機會超越我原生家庭資產的總和了。3「我是不是已經做的很好了呢?」忍不住這樣想。不論是知識上,經濟上,我都即將,甚至是已經突破原生家庭的格局,成為更大的存在了。

但是就算這樣又怎樣呢?這樣了以後然後呢?我發現比起不知道如何在這世界中前進,或許更大的問題是,不知道為何必須要前進。為什麼要在意 career path 呢 — 反正就算不在意的活著一輩子,其實也就只是那樣,又有什麼不行。為何要追求感情呢 — 反正就算沒有愛情的活著一輩子,其實也就只是那樣,又有什麼不行。因為根本不知道到了彼端的生活是什麼樣子的,根本也不知道為何一定要到達彼端不可。「當你真心渴望某件事時,全宇宙都會聯合起來幫助你。」但如果連不知為何要渴望某件事時,又有誰幫的了你呢?4

「所以你想要什麼?所以你想怎麼辦?」

我希望,希望能夠最大限度的擴展生命經歷。能夠看見那些以前沒看過的東西。因為我相信只要繼續前進,就能成為更大的存在。而所有一切現在做不到的事,所有那些現在無法回答的事,或許未來那個更大的我就能做到了。

這種理由聽起來未免也太過浪漫,難道你就不能說一些更實際更現實的想望嗎?可是為什麼不行?只有那些浪漫的理由才是真的 objective 不行嗎?那些前途、經濟、事業的考量。說到底,不過就是 constraints,是 regularization terms。5每次每次,當要用現實的理由才能跟別人溝通時,就忍不住想吶喊。我能不能繼續浪漫的活著,浪漫的追尋浪漫的目標呢?

雖然現在的我還是無法如此堅定的在說不過別人時逕自堅持自己的決定,但是有天或許會的。希望有天,能夠成為更加堅定的存在,而那就是我現在最急切的願望了。

alone

  1. What is the importance of a mentor? ↩︎

  2. 其實我覺得這是個很嚴重,並且絕對會限制我最後到達的高度的問題,不過細節以後再寫一篇文章吧。 ↩︎

  3. 當然這很大的原因在於我們家不在台北,否則說不定我賺一輩子都完全不可能超越房子代表的資產呢。想來僅僅只是地域的差距就足以掩蓋過任何努力的差異,生於此時感到氣餒也是難免。誠然,這種資產狀況隱藏著很大的危機:那就是,一旦我的家庭裡有人生病,多半現在的生活就會完全瓦解,更別說是追求什麼夢想了。再加上我總覺得如果真的有人會開始生病的話,那個人有很高的可能性根本就會是我自己。所以對我來說,追尋夢想總有一種時間的迫切性。我必須,在我們開始生病之前,先抓住些什麼才行。 ↩︎

  4. 當然也說不定即使有個知道很多東西也給很多建議的父母,最後也逃不了悲劇的命運。而就算知道充滿愛情的幸福家庭應該要是什麼樣子,其實也會一覺醒來才發現自己沒有女朋友(也沒有妹妹)。所以一切都是藉口。 ↩︎

  5. 麻煩的地方就在於 regularization terms 即使不是 objectives,最後還是會充斥於各個決定之中。而有時不免覺得,比起當成 regularization terms,或許當成 objectives 還比較正面,像是經濟的考量等等,兩種想法,或許將導致完全不同的結果。 ↩︎