旺宏科學獎參賽心得
前言
這是參加旺宏科學獎的心得,內容不包括國際科展。過了四個月才發是有點晚,請見諒。
文筆不好,比賽經歷十分冗長,可直接跳至心得觀看。
比賽經歷
比賽經歷
產生題目
一開始我其實根本沒有想過我會去比賽,當時只覺得我只要好好讀書就好。讓我想去參加比賽的是高一的物理老師還有四十萬獎學金。當時李老師在我們第一堂物理課就告訴大家有旺宏科學獎這比賽,說想要比的可以去找他。當然,我並沒有去找他。當時認為比賽這種事情讓資優班的學生去就好,我應該拿不了什麼名次,所以沒有特別在意。之後聽說班上有學要參加那個比賽,而且已經在準備了。這時我覺得班上同學都可以參加,我應該也可以試試看。向那幾位同學打聽後,發現李老師好像常常帶學生做比賽,之前李老師也自己說過他帶過一個金牌的,真的拿了四十萬,現在去美國讀書。所以就去找了李老師。
它讓我先想想看自己想做什麼類別,當時我認為我已經自學 Python 半年,資訊能力應該沒甚麼問題,所以先往資訊科學的方面思考。這時我注意到科展中有件作品是用 NLP 模型翻譯文言文,當時覺得很有趣也十分實用。加上當時 ChatGPT 出來不久,我也對機器學習有不小的興趣,所以就開始往機器學習的方面思考。突然想到自己之前有嘗試過寫程式將su3cl3轉換成你好,不過成果沒有很好,所以這次的題目就產生了🎉🎉。
文獻研究
su3cl3轉換為你好的困難點在於程式只看su3cl3有可能會翻譯為擬郝。當時我認為應該可以將su3cl3與你好視為兩種語言並訓練機器翻譯模型進行翻譯。不過當時的我並不會機器學習,連最基礎的架構都懵懵懂懂。不過我們社團有個很電的洋蔥學長會機器學習,正好也熟悉 NLP,向他請教後它天推薦我一本書——《Keras大神歸位:深度學習全面進化!用 Python 實作CNN、RNN、GRU、LSTM、GAN、VAE、Transformer》。聽了之後我馬上就去把它買回來看,沒想到超好看!!我每天廢寢忘食的看,學校看、廁所看、吃飯看、半夜看,感覺全身充滿了機器學習的力量。我還和大家分享這本書超好看,大家好像都覺得我瘋了。這個狀態持續了兩個禮拜,我終於對機器學習有了初步的認識。我十分推薦大家去買這本書來學習。
後來在逛 GitHub 的時候看到有人用 Viterbi Algorithm 製作拼音的轉換。我覺得除了機器學習,多加一個演算法或許方法會比較多樣,於是開始研究維特比演算法的原理。不過自己寫程式比較少碰競程,對這種 Dynamic Programming(?) 不太熟,問了有在寫競程的同學後才理解一點點。
初賽研究
初賽最一開始是照著書上自己改資料集,訓練 BiGRU 翻譯模型,有成功翻譯。這個時候大概是我參加這次比賽第三高興的時刻(完全自學沒經驗的我竟然自己訓練出了一個可以用的機器翻譯模型!!)之後又照著書上試了 Transformer,翻譯準確率有顯著提升。接著算出了一個隱式馬可夫模型(HMM),搭配維特比演算法使用,速度比機器學習快上好幾倍。訓練出模型就是要應用!於是我把他套用到 Discord Bot 裡面,這樣在 Bot 就可以在 Discord 伺服器中幫我進行即時翻譯。
段考後要開始打報告書了,沒想到我的拖延症又發作,拖到剩一個禮拜才開始打,那大概是我最瘋狂的一次打報告。帶筆電到學校上課打到沒電,回家後繼續打、邊吃晚餐邊打,一直打到半夜三點多在桌上睡著。後面幾天乾脆直接請假在家裡打,晚上直接打到早上看日出。在截止前十分鐘終於修改好要上傳,旺宏的上傳網站竟然死了,我一直重複試試到超過十二點半還在試,快要崩潰(;′⌒`)。幸好最後開放到隔天上傳。
決賽研究
得知進入決賽的時候我十分驚訝,沒想到從快六百件作品中選二十件可以選到我。當時在電腦送修,跟親戚出去玩,還是被老師打電話通知的。這時是我這次比賽第二高興的時刻。
八月時開始繼續準備決賽。當時李老師跟我說內容至少要有 50% 不一樣讓我有點嚇到,所以我覺得需要多一點模型互相比較成效,所以又試了 GRU、LSTM、Transformer、mT5等模型。會想實驗 mT5 主要是因為看見洋蔥學長科展得名發文,發現他作了遷移學習,再加上評審初賽建議。不過第一次碰 mT5 這種預訓練模型,又沒有整理好的書學習,完全不知道從何下手。最後總算是花了兩個禮拜的瘋狂測試成功 fine-tune。
在報告書截稿前我的拖延症又發作了,結果報告書前兩天才做完,還有介紹影片以及報告簡報沒有做。不得已只好稍微放低影片品質才勉強趕上期限。
決賽當天
決賽時和家人一起到位於新竹科學園區的旺宏電子總部進行報告,不得不說當天超緊張,我在上車後直接睡覺壓壓驚。進新竹科學園區後發現超級大,看見各種神奇的電子公司🍄,有種劉姥姥進大觀園的感覺。
到了會場才發現多數工作人員都是前幾屆比進決賽的學長姊,甚至還有李老師之前帶的學生。當時工作人員問我簡報有沒有包含學校資訊,說是不能包含。我這時突然想到我的簡報中有出現「雄女」,雖然這很明顯不是我的學校,但因為這件事又變得更緊張了。
決賽時,一進教室就是十五個評審圍一圈盯著我看,雖然大家都說評審很友善,但還是不能太相信。
似乎是太緊張了,我比練習時還要快結束,有些小細節沒說到。而評審問的問題也很犀利,我幾乎都回答不出來。另外評審也給了我有關資料統計的建議,在這方面我確實有疏忽,沒有好好統計總字數、各句字數等,只靠單純的句數來判斷資料大小。
賽後總算是放鬆了,心想只要慢慢等結果就好。接著被攝影師抓去拍照。攝影師硬是要我擺出有活力的姿勢,我說擺不出來它便直接拿出圖片給我參考,結果都是 JOJO立……。
決賽後
決賽後和家人去附近的漁港吃午餐,雖然不小心被當盤子,我當時卻不由自主地感到高興。
頒獎日
頒獎在國際會議中心。在會場大家可以互相觀摩對方的作品,我對字幕那組特別感興趣。在我向記者以及來賓介紹我的作品時,我注意到有個衣衫不整的大叔走到我攤位的角落拿起我的資料默默的看。我有點嚇到,但因為正在介紹所以沒有對他多說什麼,結果之後他就被警衛帶走了。
附上當時我覺得拍得不錯的照片:
壓力超大≡(▔﹏▔)≡
頒獎時是先從小獎開始唱名並一個個走上台頒獎,當時的想法只有下一個會不會是我。唱名到銀牌獎時,我聽到坐在我旁邊的李老師輕輕地說了聲 YES!而坐在我旁邊的同學則是對我說他覺得我會得金牌,叫我想一下致詞。最後成真了。這時是我這次比賽第一高興的時刻。
。
。
。
致詞完一走下台就被記者找去訪問,三四個記者圍著我拿著手機、錄音筆有點反應不過來。回座位時頒獎已經結束了。
離開會場時我又遇到了那位中年大叔,他過來跟我握手表示恭喜。他說他近來會場後馬上就來看我的作品,就直接確定金牌會是我,沒有去看其他人的作品。雖然感覺很奇怪,但還是感謝他如此看重我,況且他也沒做什麼事。
鞋子濕掉都是雨的錯🌨🌨。
頒獎典禮又有個旺宏科學獎聯誼會的聚餐在金色三麥,似乎是進入決賽的人都能進入旺宏科學獎聯誼會。在聯誼會中,有許多十幾年前的學長姐也來參加。
到了交換禮物的環節,每個人都可以上台分享自己收到的禮物,並請送禮者上台解釋,於是我就被叫上來臺了。或許是現在比較少看見了吧,我送出我珍藏的磁碟片,對方似乎感到很意外。我則是收到來自韓國的護手霜。
心得
不知不覺就這樣完成了一件事,現在回想起來在趕報告修 Bug 時都很累,但當時卻願意花時間、精力去做好這件事。能做鑽研感興趣的事情十分令人快樂,可以捨棄其他事情(那次段考卻是考最好的一次🤡),全心投入程式碼中。這次比賽的其他選手也十分強大,認識這些人,甚至看著這些人,感覺自己也變強不少ww(並沒有。接下來還是會繼續參加比賽,總覺得不能回頭了ww(實際上已經參加了。
心得似乎結束了,有點少?有想到再加。
後記
話說旺宏的官方新聞稿寫錯,我明明就是用超過一百萬句句子,結果他寫成十萬……。然後模型的準確率雖然有超過 90 但還是會有些地方翻不準,請見諒。
連結
紀錄一下連接( *^-^)ρ
作品
- GitHub
歡迎大家的星星
- Online Translator
- 報告書
不要看!!
新聞(黑歷史
想一想還是不要放好了
✨特別感謝
- 旺宏教育基金會
- 李柏翰老師
- 洋蔥學長
- TWTom
- alanjiang
- 大尾巴沐沐
- 紫塔門藏
- ianwang
謝天謝地