作者abliou (浪子)
看板Soft_Job
標題Re: [請益] 我該找前端工作 或專心學習ai?
時間Tue Oct 27 22:14:23 2020
我不知道內容有無違反版規,因為身為一個老人潛水很久了。
本來認為自己可能沒有機會再發文章。
個人認為AI是個很大的領域。至少,在我開始學這東西以前這名詞就存在了。
至今我仍然習慣自己所學叫做"機器學習",不習慣稱呼自己學的東西叫AI。
如果自介自我學習時間很重要的話,那我自學機器學習時間至今約11年。
因為在我開始學習機器學習的年代,這類的技術文章跟tools真的不多,
(當時是cuda 1.X版,那是給模擬的人用的。神經網路專用是後來的事情。
那時候用cuda刻SVM真的很靠杯)
很多真的必須自學,沒甚麼課能修,也沒有多少老師在做。
如果真的要問我的背景,我是生物學家。
我沒修過任何程式課程,物件導向資料結構等等都沒有。
所以沒人可以定義我程式能力好不好。
我沒修過工程數學等課程,工數機率高等微積分全部沒有。
所以沒人能定義我數學好不好。
我只知道我前女友是數學系的,有天我問他某個論文上面的式子,
她答不出來我就笑她數學系還答不出來,
她就嗆我說這些問題要去找高等工程數學才可能找到。
那天晚上我跟她一起到書局,真的翻了一圈才在高等工數找到我要找的答案。
以上就是閒聊....
會想說話主要是因為,
最近在業界又聽到有頗大的單位準備把做大數據與人工智慧的單位收了,
所以就更想說一些話。畢竟十年前不會有人想聽我們這些賭徒在說些甚麼。
我想,業界的事情每個單位不同。我就以我目前的單位狀況並針對一些推文內容來聊聊。
1. 入這行數學一定要好?
"數學"就是一門學問。如果提到數學的用處,
那就要把世界某些"物理狀態"透過符號做紀錄或是傳達,
換句話說,用數學符號來表達應該是一種"不得已的表達手段"。
一個好的數學,是可以用一些物理現象來做解釋。
如果數學就是科學的基礎,那科學的精神就是"客觀"。
We want the convicing, not confusing.
如果靠一堆數學符號就能說服人,那這世界就太容易了,
我相信大部分的人也認同光給你一個數學算式就要你信,根本不太可能。
個人認為真正好的方式,應該是理解數學符號背後帶來的物理意義,
透過連結一些真實世界的物理現象或是例子來說明數學式才可能說服人。
這也才是科學的精神(在現性)。
一個式子其背後含意任何人都可以用不同的歸納推演方式來達到,
舉例來說,基礎統計中常用的Odds ratio,
在很多統計文獻中會用"maximun likelihood"來說明計算方式。
但在機器學習領域中就會採用"minimize crossentropy"。
但是當你詳細推導以後就會發現這根本是同一件事情,差別在但由不同的出發點去看。
所以數學不好就無法了嗎? 不一定....
你不需要強到要把這兩件事情做連結,但是你至少要知道這些數學的基本物理意義。
也就是你可以用你自身經驗來解讀這段數學式子。如果是對的,
你只需要在某張紙上寫上"我想到一個美妙的證明",三百年後就會有人證明出來。
想打敗敵人,如果你只會雷之呼吸第一型,那就把雷之呼吸第一型發揮到極致。
學了十型你最終要打敗敵人,學了一型你也還是可以打敗敵人,最終都到達了目的。
一門學問沒有誰有資格誰無資格。在真理面前,每個人都是平等的。
只有在你要不要跟你敢不敢。至少我在挑人的時候,第一關我不太會要人推數學。
但我一定會確定這個人有無"理解"這數學。(這一關死一堆人)
舉例來說,
大家都知道CNN是從MLP演化而來(假設大家都懂怎麼演化,因為這邊也死一堆人),
那我要怎麼處理才能在不更動MLP的架構下讓MLP效能盡量貼近CNN?
這些問題光看CNN在那邊看完數學式子後理解是sliding windows跑一跑
是完全無法回答這問題的。而且回答方式也無須"太數學"。
但答不出來也表示這人沒有深層去思考為什麼這方法會好。
那自然也無法找出最合適的solution。
如果別人用高等微積分證明完畢後,你可以用國小加法再表達一次,
那絕對大家都可以被說服。
2. 入這行一定要本科系?
這邊說明我個人挑選的方式: 任何人只要投遞履歷,本人就是親自打電話去,
所以不分科系,不分年齡,不分性別,全部都會經過問答以後挑選。
最後結果,目前團隊中物理背景高達九成。電資背景僅一位。
另外一位特殊人物是文組,學士背景。
他靠自學可以把Linux一些奇怪的Depedency弄起來,
可以把Reinformcement learning數學式看完寫出來進行訓練。
這邊我想勉勵非本科系的人,如果你投履歷碰到的主管也只會用科系跟學校挑人,
那種單位你就乾脆別去了。(至少我是這樣想,其實也吃不少苦頭就是了)
但是如果這工作你看了喜歡,
不管職缺用甚麼條件(我們的職缺就用博士,但我沒有在管這個),投就對了。
你不投你就沒機會。
3. 入這行要怎麼做?只能打Kaggle?
老實說,我Kaggle打了兩次就不太打了。
Kaggle打了以後,就是解決了那個Kaggle的問題,但我懷疑對實際問題有幫助嗎?
所謂的training, test , validation三個Datasets當中,test set的定義就是
"test set永遠只能用一次"
你打了很久,send幾百次的答案,這些都不能稱呼為Test。
頂多就是validation set而已。換句話說,你打很久的模型可能還是處在overfitting。
我理解到這邊就暫停打Kaggle。因為我還想做些更有趣的事情。
(但這邊也不是說打Kaggle完全沒幫助,某程度上有人一起玩是蠻有趣的)
另外一個例子,
我們單位另外有超能力且已經離職的有另外一位,
大學延畢,體育被當,但是是某套件的全球維護人。我敬重這樣的年輕人。
他也幫助我們完成策略性專利的申請。
所謂的策略性就是"內部審核不通過,但技術長給通過"。
他的專利內容就是透過語意模型完成某個圖像任務。這話題好像最近很紅,
但是我們大概兩年前就在做了並在進行後半年完成專利申請。
當時公司內大老們還不看好。
以上的狀況好像沒有回覆到原po的要做前端還是專心做AI,
對我來講,好像是大哉問真的難以回答。
我個人在這產業中,我知道待解決的問題還非常非常多。
也就是還是有很多地方有商機。只差有沒有人能吃到這塊餅。
我們絕對不是最強的單位,我也不期許我們是最強的單位,
我希望我們只要活下來並且對世界有貢獻(就是人願意花錢買我們的東西)就可以了。
目前就以公司狀況來看,前幾年號稱自己AI非常強的單位大概一打左右。
我們絕對是排不上公司排行榜的。
但目前我們是公司內僅存的幾個還在做這項目的單位之一。
以我自己背景的例子,一開始就難以定義,
所以我也難以用背景去定義誰有能力沒能力做。
這種想法衍伸到我們現在做出來的產品,就是大家都沒看過這是甚麼。
但是慢慢的理解這產品的設計理念跟用處反而開始認同。
所以...
為什麼要讓人來定義你?你不能定義甚麼事情嗎?
我希望我的經驗可以給一些人一些力量。如果你認為這是對的事情,就去做就對了。
我也希望我的同業可以越來越多。
※ 引述《pride829 (竹鼠)》之銘言:
: 在這篇文章中 我將data science machine learning及其他相關領域等統稱為AI, 因為我不確定將來
: 深入的領域為何 也還不到那個程度
: 大家好
: 我是應屆大學畢業生 國立 資訊工程系 但非四大
: 我接觸了很久程式 雖然一直在追求如何能夠寫的更乾淨有架構 但是從來沒有真正深入的
: 用單一語言做一個大型專案
: 最熟的算是c++吧,其他諸多語言像是php python js java c#...等等也能稱得上"會"
: 如果用過就算會的話
: 但也僅止於用過而已 我寫的程式大多數都很淺 基本上不同語言的差別只有語法不同 翻
: 譯之後沒有什麼差別
: 現在我要就職 我沒有任何的工作經驗 作品也很少 我也只知道從就職網站(104 1111之類
: )謀職的方法
: 我注意到市面上有非常多前端工程師的職缺
: 我的選擇有二:
: 1. 學習一個前端框架 vue angular之類的 做個網頁 然後找個前端低薪的工作
: 其實照現在面試的情況 也許不用成品我就能找到這樣的工作了
: 或者是2. 我上kaggle學習data science, machine learning等等 等到有成品之後找這方
: 面的工作
: 其實我有興趣的是人工智慧 前端我一點興趣都沒有
: 但問題是ai的職缺相對少很多 學歷要求通常在碩士以上 且我的數學不好 基礎也不好
: 我目前自己灌了ubuntu自學, 只知道如何使用python引入DecisionTreeRegressor建立簡
: 單的預測,如何處理missing value
: 以及大學時候上過課 對於classification clustering這些有基本的認知
: 如此而已
: 我不曉得如果我打定主意朝這方向走 會不會遭遇很大的困難 會不會拖很久才找到工作
: 家裡的經濟狀況還可以 能夠讓我學習 但我擔心沒有工作經驗的我找不到ai方面的工作
: 但如果我選擇前端工作, 那就真的只是為了生活而工作 因為我對它真的沒有興趣
: 如果這樣的話 我就打算利用下班時間自學ai 然後之後再找機會跳板
: 但我又擔心如果上工 會被佔用太多的時間 因此這是一個麻煩的抉擇
: 想請教我該如何是好?煩請各位解惑!
: 附上我的github:https://github.com/pride829
: 另外再問個比較不相干的問題: 作品的註解應該用英文還是中文寫較好?
: 我能夠用英文寫沒問題 不過我想如果看的人都是台灣人 我在台灣求職 好像不見得會比
: 較好 因此詢問
--
みいろ....
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.51.142.8 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1603808067.A.BB0.html
1F:推 sourYu: 同是科科工程師推一個 10/27 23:33
2F:推 choral: 我好像認識原po... 10/27 23:47
3F:推 NewSpec: AI和刷題,其他都沒未來 10/28 00:01
4F:推 lee457088: 好猛 推 10/28 00:17
5F:推 Bencrie: 數學系不是都在搞證明,沒在跟你搞工程實用吧 10/28 01:16
6F:推 uopsdod: 推數學這段 10/28 01:37
7F:推 deflife: 數值計算就從電腦工程這邊來的吧?收斂性穩定性都是研究 10/28 02:05
8F:→ deflife: 重點 10/28 02:05
9F:→ touurtn: 比較好奇哪間公司要收掉 10/28 02:33
10F:噓 bightt97018: 最好是隨便拿個式子數學系就一定會懂... 10/28 02:34
11F:噓 accessdenied: 沒人在乎你的學習時間和背景,你卻真的回答,前面多 10/28 08:22
12F:→ accessdenied: 餘的假設是在寫作文嗎?自己想講就直講就好 10/28 08:22
13F:推 summerleaves: 推 10/28 08:26
14F:推 TheOneisNEO: 數學範圍那麼廣 分支何其多 10/28 09:34
15F:推 Tanteitachi: 推~理解數學符號背後帶來的物理意義 10/28 10:28
16F:推 luli0034: 推要理解背後的含義 10/28 11:12
17F:噓 as30385438: maximun likelihood那根本不用什麼詳細推導 10/28 12:09
18F:→ as30385438: 懂log的高中生都能理解兩者是一體兩面的了 10/28 12:09
19F:推 whoisfriday: 本來想回應11樓的 看到ID覺得不要浪費時間好了XD 10/28 12:17
20F:推 locklose: 推 10/28 13:04
21F:推 LERICAL: 推 10/28 13:38
22F:推 p122607: 你是不是姓Liu 10/28 18:45
23F:推 aiueokaki: 好奇哪間要收了+1 10/28 21:47
24F:推 mcps5601: 推謙虛的生物學家 10/28 22:29
25F:推 Zoanthropy: 請問 為什麼team會收了 是因為太燒錢了嗎? 10/28 22:46
26F:推 Apache: 電資比較不適合做ML 10/28 22:48
27F:推 ucrxzero: 阿帕契大大又語出驚人了 10/29 01:22