惠特產學合作心得與紀錄

僅此紀錄大衛大一下至大二上參加惠特科技產學合作心得。
「紀錄每個時刻,讓未來的自己不遺忘過去的自己」
只有自己才能體會自己的過去
謝謝惠特副總經理與洪揮霖老師與官齊笎陪伴我成長。

自我反省

老實講,在我做產學合作時其實我並沒有想要做 Blog 紀錄所以有很多部分可能已經在我的印象中遺失,蠻對不起未來的大衞的…,那就讓現在當下的我把僅剩的印象記錄下來吧,不然這份回憶可能就被我丟失在成長的路上了。

惠特的初次見面

在大一上時,我滿腔熱血但我卻不知道要怎麼樣發展,台北科大的老師們可能不太擅長去找出幾個比較有想法的學生來幫助他成長,對不起,我又黑北科,可是我真的覺得北科的老師有些真的很混,以後可以多一篇文章來描述此事情。講太多了,回歸正題,那時候我的系上學長(方宇)問我要不要來參加專案,再有內推的關係之下果不其然我就進入了這次的產學合作XD。

人脈真的要打好,但能力一定要有。沒有能力只有人脈就像人力仲介一樣,我不想當那樣的人。

之後惠特公司副總就來到北科與我們說明這次的產學合作有 3 個專案,分別來讓北科的學習去嘗試與實習,我選擇的是專題一,聽起來我較有把握去解決此題目,對我而言我對這題的方向感也比起其他兩題的方向感更為踏實些。

專案實踐 - 初期

專案一(資料內插),主要是給我們一個已經遺失的圖片(其實不是圖片是LED,但這樣講可能不太好懂,以下我就用圖片來講),遺失率可能達到 80%,我們試著用 Laplace Interpolation (資料內插) 的方式來解決此問題。

一開始我們知道要用 Laplace Interpolation 來解決問題,聽起來很專業對不對?但其實還好主要就是有 15 個方程式去解決此問題。

Laplace Interpolation 介紹

但我們就算知道了題目的要求與需求我們還是不知道要怎麼去解決它,對不起我就爛,主要是因為我們的背景知識不足,線性代數、理論與證明…等,導致我們初期是一直在想要用自己的方式去把這題給完成,但實在是沒辦法完成,一個孩子哪有辦法蓋好一棟大房子,在我們百思不得其解時,就慢慢進入惠特第二次來北科督察的時候…。

第二次來北科督察後,惠特副總人很好他並沒有因為我們不會這些背後的理論而給予我們壓力,他給了我們一些解決的想法,讓我們去從中想出如何解出這題,也在這次的會議中提點我們當自己無法解決此能力時,先去外面爬一些相關資料,再根據一些相關資料找出其相關的論文。於是一開始她告訴我們像解決此問題時我們可以使用高斯消去法來解決相關問題。

專案實踐 - 中期

既然已經被別人提點了,那我理應要透過別人提點的方法去嘗試,於是我就先試寫了一遍高斯消去法並自行測試,測試成功後,在詢問惠特公司的數據最大量是多少,多少我已經有點記不得了(當時沒有紀錄,可惡),當最普通的高斯消去法是一定沒有辦法解決的,必須要再去找出更好的方法。

既然我已經知道要去找出更好的方法,那就是先去 google 一些比起高斯消去法效率更好的解法,在 google 中得知 Gauss-Seidel 方法比起高斯消去法效率更好,高斯消去法是 \(O(n^5)\), Gauss-Seidel 方法則是 \(O(n^3)\)。

我知道方法後,我就要去實踐它,但這時候遇到一些麻煩點,我不知道怎麼實踐QQ,我雖然知道這方法也懂這方法在做甚麼,理論跟證明也都大概了解,但當我要把它寫成程式時我卻卡關,只好再問問 google 有沒有 Gauss-Seidel 的舉例,讓我可以更好了解。我有一個壞毛病,光看理論與證明通常我的腦袋還不太會有想法去怎麼實踐他,但只要給我範例我就有辦法去實踐它,很奇怪吧!但我透過舉例的學習能力真的比看證明的學習能力還強許多,可能我應該要讀台北工專吧XD。

數值線性方程式演算法介紹

後來在 Google 那個衣櫃翻資料時找到一個非常棒的網站,此網站縮寫是MAA(美國數學協會),他們有著非常詳細的說明與講解來增加大家對於數學的知識,他們超棒、超讚,我一看完他們的教學在配上我自己動手寫一遍,我馬上就完全理解 Gauss-Seidel 幸好有他們這個網站加速我學習的速度,不然我可能還要再 Google 這個雜亂衣櫃找到有用的資訊可能還要再花一段時間XD,不過 Google 真的很棒,沒他我連沒有用的資訊都找不到呢!

我原本是要在這邊放上我自己手寫 Gauss-Seidel 的圖片,但是那時候自己還沒有意識到紀錄的重要性,我很難過。

其實專題二原本是另一位學長製作但他可能太忙了就沒有來接手此問題,於是我希望齊笎來幫助我們解決這次的大問題,齊笎直接肯定與願意幫助我的問題讓我超級感動的 ಥ⌣ಥ,齊笎真的是我的最佳幫手,從高中如果還沒有在中途就遺失的朋友真的都是真心的,幸好我身邊還有一堆好朋友願意幫助我。齊笎願意來扛下第二題的重責大任並且也負責第一題的介面,再跟他討論第一題的介面時我是快樂的、相處起來也是,加上他的 UI 介面設計功能算蠻不錯用,真的是辛苦她了,沒有他我一定要做得更辛苦甚至有可能做不好。

齊笎的背影照

原本這裡應該是要放下跟他一起的合照的,但我發現我竟然沒有跟他合照,看來我太不喜歡拍照了之後要好好補足這個能力,拜科技之賜社會在進步我的思想卻沒有進步,自己也太差了吧XD。

專案實踐 - 後期

其實中間遇到兩個大麻煩,一個是陣列沒辦法開那麼大,這裡我們假設陣列應該要開到 8000*8000 但是 C# 裡面其實是沒有辦法開到這麼大的,所以翻找了許多技術文章來解決此問題,這裡就不贅述翻找資料的痛苦了,如果也有夥伴們像我一樣遇到問題可以查看此文章 C# 開超大陣列解決方法

另一個問題則是個人認為 Gauss-Seidel 方法可能還是有些許的慢,還想要更加增進自己,於是我自己就上網再去問問 Google 有沒有更好的解答,答案是有,要用 SOR(逐次超鬆馳法),以下就簡稱 SOR,它可以幫助我們效率在更加提升,加速收斂,但有要特別注意的點就是 \(\omega \) 必須要找好不然就可能沒辦法有很好的收斂效果。

SOR(逐次超鬆馳法) 方法介紹

隨後我們就去實踐它,發現真的有更好的效果,當下真的是充滿喜悅,透過自己的雙手去完成一件事情,不敢說自己做的是很優秀的事,但總感覺自己完成了一件原本自己並不太懂的東西真的是很令人振奮呢!學會每一件事情都會讓自己的視野更加遼闊,但就像我 Blog 說的 After climbing a great hill, one only finds that there are many more hills to climb.,看來還有很多的 hills 等待我去攀爬。

Gauss-Seidel 在此專題中的時間複雜度,請注意,這裡的陣列遺失率並不一定等於 50%

SOR(逐次超鬆馳法) 在此專題中的時間複雜度,請注意,這裡的陣列遺失率並不一定等於 50%

有些比較細心的讀者應該有看到為甚麼 PPT 的陣列遺失率並不一定等於 50 % 呢,其實很簡單,因為我是對陣列每一個元素隨機 1~100 ,只要是偶數就遺失奇數就表示存在,所以在最理想情況遺失機率應該是 50%。

參觀台中公司

過程中我們要去台中惠特公司參訪,老師讓我先去訂車,我打了好多通電話都沒有預約到車,好難過…,幸好最後還是有預約到車,不然我就尷尬呢我XD,於是我們預約到車後就等待參訪時間來臨,前往台中其實並不算塞,但屁股還是有點坐到痛痛的,沒想到台中工業區與台中高鐵站有相當長的一段時間,原本還想說先到台中高鐵站在搭計程車就好,老師決定租車直接前往惠特公司果然是正確的選擇,我還是有點太年輕了QQ,用台北的思維看台灣呀,不過過程中有跟老師聊天也是相當開心的一件事情。

惠特公司貼著一排關於業務以及認真表現員工的嘉許,總覺得那看起來就是用自己的辛苦堆疊起來的,很偉大呀!

我們有點太早到惠特科技,我們先坐在會議室裏面吃午餐,隨後等待惠特工作人員來像我們介紹公司,他們有分研發部門與生產部門,研發部門我蠻有興趣的,有種讓我眼睛突然亮起來,而到他們的生產部門時則看到許多機台正在努力運作一點都不會累,機器怎麼會累,看著那些高精密儀器又聽到他們的價錢時,心裡想著:「天啊,我這輩子能不能賺到這麼多錢呢?」,希望我自己有能力可以變成優秀的人,幫助別人也可以養活自己,不然連自己都養不活有點沒用呀!

回來的過程到新竹時則有點塞,原因是新竹的工程師都正準備下班,恩,我聞到整條高速公路都是台灣生產著的味道呢XD,開玩笑的,大家都為了自己的夢想或現實在努力的工作吧!我以後應該也會成為這樣的人度過一生吧,希望我能做出些幫助到大家的事情,不管是認識或是不認識的那是再好不過的!

在參訪回程時隨意拍的一張照片

由於我們租車的時間過長,為甚麼會過長呢?因為我誤算來回時間導致我們要離開惠特公司時是 15:30,但我們租車結束的時間是 21:00,這點我還需要再改進,不然就會像這次一樣浪費經費,讓我很對不起大家,為了拖長租車時間於是我們就讓老師和每位學生都可以在自己的住所附近直接下車,有楊梅、鶯歌與北科,沒想到楊梅-鶯歌這一段特別塞車,有點討厭呀!

專案後期 - 報告

在昨天,也就是 2020/10/29,即將接近專案結案,於是我們要報告目前進度,專題一的進度目前接近於成熟,但專案二礙於技術問題不斷遇到障礙還需要克服就比較麻煩了,專題二就花了蠻多的時間在講解理論與探討,而專案一則就是 PPT 報告與實際 demo,由於我對此專案有很深的了解,畢竟是我做的XD,我就把我的心得與技術全部都說出,當我講出 C# 如何開出超大陣列時副總有說出一句「我這一趟沒有白來」時,我的內心是非常開心與擁有成就感的,能夠被大公司的副總經理給認同這對一個大學生來說是有多大的榮幸呀!

專題二老師與副總正在講解與理論與探討 (第一張,共二張)

專題二老師與副總正在講解與理論與探討 (第二張,共二張)

應用程式介紹 - 輸入資料

應用程式介紹 - 輸入完成

在過程中副總也與我們閒聊了一些,關於我們學習的觀念,有些部分與我的經驗相同有些則我還需要去磨練可能才能理解,最有共鳴的應該就是做中學,只要去實踐一次就肯定能懂那些高深的理論在講甚麼,理解之後就能存在自己的記憶中在需要時被提出,但我報告也有部分缺失,例如 Gauss-Seidel 的 inverse 我並沒有講的很好,這點我還需要特別注意,下次再報告時不要對自己太有信心,還是要把所有的理論仔細地都檢查一次才不會讓自己之前看得懂,現在看不懂的窘境

不知為何,被副總稱讚是一件令人開心的事情,可能是我的努力被肯定了吧XD。

我沒有講好的部分,紅色圈圈的部分

而我還需要在做一些專案一的驗證與調整,例如我們的矩陣要改成可以掃描圓形,並不要只能掃描正方形,以及驗證,但我相信應該是沒有問題的。

其中也要謝謝胡小姐過程中可以幫我許多忙,這一路上要是沒有他,我在行政上的問題會非常棘手,真的要謝謝他幫助我許多事情,我原本還怕因為我是大學生可能還會被瞧不起QQ,但其實不會的!他人最好,YA。

對自己說的話

原本是想寫些心得的,但其實這整篇都是我的心得也都是我的心路歷程,硬是要在心得裡面再寫些心得似乎有點太多於了,不如就寫點加油的話來對自己增加信心吧!

在這路上有學到蠻多知識的,但我發現我的知識都是破碎不完全,我可能會是知道這個概念,但我不知道這個專有名詞是甚麼,這是我的一個大問題,我需要去改進。也謝謝自己的努力可以讓我一路堅持到這裡,也希望我自己可以繼續努力,現在放棄就輸了,只要我對我的未來好,那現在就會好!

感謝在此產學合作中幫助過我的每一個人,沒有你們就沒有現在的我,謝謝你們幫助我更好,謝謝!

附加檔案

專案一期末報告
專案一期中報告

  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: