Gb5l4u2xeb5sqewkc0hj

陳品源

Junior Software Developer  •  Taipei,TW  •  [email protected]

就讀高中時,因緣際會加入了資訊社而接觸了競賽程式設計,當時最初學習程式的語言是C++,也是我程式語言中的母語,這些經歷讓我開啟了自身對於寫程式的興趣與契機。


高中畢業後先就讀於聯大光電系,而後在大三下學期時轉系至聯大資工系。
聯大資工系畢業後,同年考上了師大資工研究所就讀。


研究所時期進入的實驗室是「深度人工智慧實驗室(Deep AI Lab)」,我們的主要研究內容是鑽研各種棋類程式的AI,以藉此提昇棋力,而在這期間開發的程式語言皆是使用Python。


碩論的研究是寫個「5五將棋(MiniShogi)」的程式套用在AlphaZero General的框架後,對AlphaZero相關的演算法及訓練方法做更進一步的改良,以達到提升棋力的效果。

學歷

國立台灣師範大學, 碩士學位, 資訊工程所, 2017 ~ 2020

國立聯合大學, 學士學位, 資訊工程, 2015 ~ 2017

國立聯合大學, 其他, 光電工程, 2012 ~ 2015

專案


AlphaZero General MiniShogi - GitLab

  • 從原本專案的單核心的訓練,修改成「多核心」來做「非同步(Async)」訓練,利用Python的「multiprocessing」模組來實作。在訓練的時間上,優化了92.3%,每個迭代的訓練時間: 1hr -> 9min
  • 壓縮歷史迭代的樣本儲存的方式,在空間上優化了14.5%。  
  • 對「蒙地卡羅樹搜索(MCTS)」演算法做優化,藉由更改資料結構,以NumPy取代Python的list作為每回合合法走步的儲存,在搜索的效能上提高了2%。 
  • 在MCTS演算法搜索時的合法走步中,對於「必勝」的盤面,限縮合法走步到只有「必勝」的走步可以搜索,以加快模型訓練時的收斂。 
  • 更改了訓練樣本的抽取機率,藉由設定每次的batch中局盤面機率提高,來能讓訓練出來的AI在中局的棋力能更加提昇。 

tixCraft-selenium - GitHub

  • 利用selenium套件來自動化tixCraft(拓元售票系統)的搶票流程。
  • 自動模擬搶票的所有流程,使用者最後只須輸入驗證碼即可。

技能


  • Programming Languages: C++, Python > JavaScript > Others
  • Linux, GitHub, GitLab
  • Data Structure and Algorithm
  • Deep Learning
  • Web Crawler

競賽經歷

2015靜宜大學全國程式設計競賽

隊伍名稱: 所以我說那題的Code呢?

  • 成績: 5 / 20 (排名 / 總隊伍數) 
  • 獎金: 4000 
2019 TCGA 電腦對局競賽
程式名稱: MISAMO
  • 比賽棋類: MiniShogi 
  • 成績: 銀牌 

Powered by CakeResumePowered by CakeResume