電腦效能應用與安全研究室 Performance, Applications and Security Lab


我們的研究範圍很廣,從嵌入式系統、手機應用、一直到雲端計算、商務應用、資訊安全都有做。
我們的合作研究夥伴很多,包括聯發科、IBM、中研院、資策會,還有和台大、清大、交大的教授合組研發團隊
,包括高階應用處理器架構研究、虛擬化技術、異質計算、系統軟體等重要技術的研究與創新,我們很關切台灣人才與產業的未來。

2014年3月1日 星期六

不用考上研究所也可以做研究?

這幾天被長官問到如何改進資訊學門的教學研究,我說:如果今天有位具備專業基礎、肯用功學習、有志氣的大學畢業生,沒考上台大研究所,但寧可不要碩士學位,願意拿月薪三萬六當研究助理跟著我做兩年的研究,中間有機會旁聽各種課程,也有機會發表論文,請問划不划算?能不能學到東西?業界在不在乎他有沒有學位?業界看不看重這個工作經驗?

以上沒有標準答案,大家可以留言發表意見。

有幾件事可以思考:
第一,老師和學生都放開學位迷思,是否海闊天空?
第二,如果學位沒有用,學生到研究所唸什麼?
第三,如果學位沒有用,老師能收到什麼學生?

我個人一向認為學位對於積極向上的人沒多大用處。美國資訊業界有很多學歷不高的成功者,台灣為何不行?別的領域我不管,至少在資訊業是如此。

最近,幾位台大電機資訊碩士工作兩年多之後,有意願進我實驗室做研究助理轉換跑道。我歡迎想努力學東西的人來進修,不過我不是開補習班的,來的人不需要繳學費,但是要有能力跟著我做研究。

在台灣,不是不行,只是例子不多。這個關於開平餐飲學校的故事,說明了專業有其價值。
http://www.businesstoday.com.tw/article-content-80392-102787

承載知識的Wolfram語言

週四中午跟同學們分享關於Wolfram Language的影片,很有趣,值得深思。正好下午朋友來信,希望我提供心得... 我雖然不是職業的reviewer,但對於新鮮有趣的東西,我是很樂意review的。 下次有好玩的東西,可以主動送過來給我玩,能打動我的話就寫review,不收費的。

我想從Watson談起。很多人都知道IBM Watson -- 那個打敗Jeopardy!高手的電腦。可以想像Watson是個專家系統,你把整理好的資料和規則放進去,他可以在特定的領域表現優異。

如何把資料和規則整理好、放進去、快速執行,是Watson的know-how。這個很不容易,IBM花了很多人力、物力才做出一個能在Jeopardy!節目上獲勝的Watson,但成功之後,可以複製出千千萬萬個Watson!

如何把人類的知識轉變成電腦語言,自從有電腦開始,一直就是個大問題 -- 人類被迫去學電腦語言,才有辦法設計電腦程式。程式設計師,往往扮演人類與電腦的溝通的橋樑。所以說,懂得寫程式,只是程式設計的一半,另外一半是與人類溝通。

這個號稱是用於Knowledge-based programming的Wolfram Language,對我來說並不陌生。二十多年前,我就研究過Wolfram的Mathematica,所以我根本覺得做那些高難度的微積分考題簡直是在整人。你再會解積分題目、化簡三角函式,這些機械化的事情,Mathematica做得比你還好! 

Mathmematica擅長的是符號計算(symbolic computing),而非數值計算(numerical computing),這是他跟MATLAB大不同的地方,也是它特別有趣和特別有用的地方。

符號(symbol),是人類表達知識的載具。有意義的符號,稱之為文字;利用文字來溝通,稱之為語言。

如果有一套語言和工具,能夠讓我們輕易地、很結構化地裝載(encapsulate)知識,甚至是操作(manipulate)知識的話,那麼將對於整理、組織、運用人類知識,有極大的助益。


這裡談的不是「自然語言處理」(natural language processing, NLP),傳統的NLP希望夠做到分析、辨認人類語句,但頂多只是作為人類與電腦溝通的前端,距離知識的整理和運用還頗遙遠。

Walfram採用的方式,其實是不斷地去增加Mathematica的能力,蒐集各類型重要領域常用的語言和工具,讓人類可以
整理和運用知識


以數學為例,Mathematica提供的語法,讓我們很方便可以寫出代數的式子,他更提供了許多能用以操作這些式子的工具。記得因式分解、三角函式、微積分、複變分析、傅立葉分析、統計嗎?這些都是人類發展出來處理知識的工具。

至於目前 Wolfram Language能做些什麼,看看這影片中Steve Wolfram本人現身說法:
https://www.youtube.com/watch?v=_P9HqHVPeik&noredirect=1

“In general, what we’re trying to do is so that as long as a person can describe what they want, our goal is to get that done. A human defines what the goal should be, and a computer does its best to figure out what that means, and does its best to do it,” Wolfram says.

我不得不讚美Steve Walfram對他懷抱的理念的執著與企圖心,他花了30年持續常這個方向而不捨前進。幸好,近年的雲端運算和Big Data技術,應該大幅加速這個理想的實現。各位可以在這裡看到這個Wolfram Language目前的能力,以及思考我們能夠用他做的工作,再進一步想像他在幾年後能夠做的事情。

然而我們該深思的是,有這類的工具在手,人類該做什麼,學校該教些什麼?

- 知識就是力量,擁有處理知識的工具,將大幅強化人類的力量。
- 學校訓練學生的目標,不應是知識的記憶,而是如何活用知識的技藝。
- 教一些、學一些電腦不會的東西吧!

舉例來說,我這學期教平行程式設計,我將讓學生看看Wolfram Language在平行計算上能做什麼?根據http://reference.wolfram.com/language/guide/ParallelComputing.html,他還不會幫人類自動平行化程式,但他提供了不少基本的平行計算的支援。

需要進階的平行計算,Wolfram訴諸於CUDA和OpenCL,例如:
http://reference.wolfram.com/language/OpenCLLink/guide/OpenCLLink.html

所以想讓事情做得快,人類還是得用告訴電腦如何平行做事情。如何平行做事情?這個就是電腦不會的學問了,來上我的課就知道了。

Wolfram的如意算盤是:一些常用的運算,逐漸會被平行化,成為Wolfram Language的一部分。

想持續追蹤Wolfram Language的動態,可以鎖定:http://blog.stephenwolfram.com/


誰想當奴才?

葉丙成教授寫了一篇網誌:「我不想當奴才!」當真?,有興趣的朋友可以看看。

當然,沒有人喜歡承認自己願意當奴才,但是這個社會充滿了自欺、欺人、被人欺的奴才,這是很多人所不敢面對的真實,跟念書念得好不好沒多大關係。

「一輩子,每天醒來所做之事,不是自欺,就是欺人,不然就是被人欺。」這是某位古人懺悔之語,對於人的無明和受慾念的支配,形容得十分傳神。

有自願當奴才的,有不得已而去當奴才的,有喜歡把別人當奴才的,捫心自問,我們一天面對自己、長官、下屬,有沒有誠實不欺?

眾生平等,萬法惟心。重點是「內在」,而不是外在。我尊稱你長官或老師,做你交代的事,並不減損我的人格,也不妨礙我說該說的話。你尊稱我一句老師,我雖然形式上接受了,也教給你一些東西,但我並不自認比你高尚,因為在形而上的道體裡,我們終究是平等的。

懂嗎?不懂也沒關係。知道自己懂什麼,不懂什麼,是不自欺的開始。我們在成長的過程中,很多時候,在不假思索的狀況下,被灌輸進名為知識的框架,或者稱之為規矩、道德、禮教。有人受框架所限,有禮教殺人,實源自於自欺。

我們的教育,沒有強調獨立思考,沒有教學生如何自學,以至於自欺的現象特別嚴重。自欺多了之後,往往不相信自己,必須借外在事物來肯定自己,而且沒有自信,一窩蜂跟著人家後面衝,或是隨波逐流。

要想不當奴才,必須懂得內求。否則書念得再好,事業做得再大,仍舊是奴才。