2017年4月17日 星期一

從A.I.談程序員的未來

理工相關科系畢業的大學生,應該有修過微積分。尤其是對於資訊工程系的學生而言,在修微積分的時候,覺得很納悶,只要快快樂樂地學程式設計就好了,學這個有什麼用?的確,對於90年代的資工系學生而言,只要會寫程式,畢業不愁沒工作。可是現在,人工智慧當道,現在資工系學生,若想找到待遇更好的工作,只會寫程式是不夠的。這是我在業界這幾年的觀察。

撇開工作不談,其實人工智慧對於程序員來說,就是終極目標。我們寫程式的目的,不就是希望自己的程式,夠聰明,能幫人類解決許多問題嗎?我當初接觸程式設計,也是抱持這樣的信念。只是當時還是桌上型電腦,甚至要撥接上網,許多應用才剛起步,那個時候,大約是1996年,Web在台灣開始興起。研究所畢業之後,從事的工作,主要是幫企業產生報表,和自己接一些Case,因為那時候的App不多,能有這樣的成就,就算不錯了,更本用不到人工智慧,於是忘了當初寫程式的信念。

直到最近這幾年,手機App的興起,能想到的應用都有了。於是,我最近思考,如果該發明的App都發明了,那麼程序員還有什麼可貴的利用價值嗎?本人比較有先見之明,很早就拋棄很多人都會寫的報表程式,和Windows程式,改走冷門的門檻較高的BIOS。後來因緣際會,走更難的Security,這需有懂基本的Cryptography理論,所以維持了一些優勢。

我不是說報表程式不好,反而因為前幾年大數據興起,之前寫報表程式的程序員,搞不好搭上這班列車,而混得不錯也不一定。而Windows程式,也是因為會的人愈來愈少,反而愈來愈吃香。這是題外話。

現在AI當道,本人也順勢而為,加上當時的初衷,擁抱AI。根據以往的經驗,程式不是問題,理論才是重點。比如在開發Security的時候,基本加密解密的演算法,OpenSSL都幫你寫好了,不需要重頭再寫一遍。問題是,你怎麼知道,什麼時候?要用那一種加密,才會比較安全?理由何在?這就需要理論基礎了。所以,對於AI的領域,我的學習方法是,不用急者寫程式,先搞好理論比較重要。

抱怨完了,開始問自己兩個問題:
  1. 為何Neural Network要用到微積分?
  2. 為何Neural Network要用到線性代數?
-Count

沒有留言:

張貼留言