[ 人工智能 ]簡介下現代AI

154 回覆
180 Like 4 Dislike
2017-11-29 10:53:14
細佬我做image processing打code打左4年左右, 一年前開始睇google同facebook d image processing 同拎佢地d code來自己做development

其實香港真係好少人識當代最先進既AI,好多人仲以為係if else statement既年代,呢個post就簡單講解下AI係乜東西,其實AI唔止係alphago咁簡單架

係睇呢個post前可以先重溫下兩個舊post:

簡單了解AlphaGo 同今日既AI
https://lihkg.com/thread/257808/page/1

大數據深度學習 AI醫生診症快又準
https://lihkg.com/thread/404330/page/1

定義
係初步了解咩係AI前,先睇下唔同的哲學家點定義人工智能呢一樣野,當中最出名就一定係電腦之父圖靈提出的圖靈測試


電腦之父Alan Turing


sorry 呢個先係 16歲的Alan Turing

圖靈測試
呢個測試好簡單,你blind左咁去問一部機器,如果你無方法去分佢究竟係真人定係唔係,咁呢部機器就已經pass左圖靈測試,亦被認為係真正擁有人工智能

而家係無一部機器係成功通過圖靈測試,最近睇左一套電影,對圖靈測試有更深入既探究,講緊係究竟只係語言上通過圖靈測試是否真係可以被證明為有人工智能:

https://www.youtube.com/watch?v=15RZg4kp6qI
Ex_Machina 智能叛侶, netflix同google play都有,劇情一般但係就對咩係AI有比較深入既探討

係電腦岩岩發明既年代,所有同電算有關既基礎theory都好快速咁發展,當中最出名既要數人工智能之父約翰.麥卡錫1956年係第一次達特矛斯會議提出左「人工智能」一詞。佢既諗法同圖靈都係差唔多:

人工智能就是要讓機器的行為看起來就像是人所表現出的智能行為一樣。



但咁樣係咪就係真正既人工智能呢? 係哲學上又有另一個思想實驗,令唯心論同唯物論者對人工智能有唔同既理解

中文房間
如果麥卡錫同圖靈都係人工智能既唯物論派,咁約翰·希爾勒就應該係唯心論既代表人物

佢提出左中文房間呢個問題,呢個問題係關乎宇宙同人類既本質問題,不過呢樣野太複雜,呢度唔多講,介紹返個實驗先:

一個對漢語一竅不通,只說英語的人關在一間只有一個開口的封閉房間中。房間裏有一本用英文寫成的手冊,指示該如何處理收到的漢語訊息及如何以漢語相應地回覆。房外的人不斷向房間內遞進用中文寫成的問題。房內的人便按照手冊的說明,尋找到合適的指示,將相應的中文字元組合成對問題的解答,並將答案遞出房間。

事實上,房入面既人係完全唔識中文,佢只係按一d規律去達成「智能」既假像,而家既google/ siri 之類軟件好大程度都係做緊類似既野,係人工智能定義上,呢兩派仍然係爭論不休。不過,哲學問題通常都係知道左都唔會影響世界運作既野,咁我地focus返去d solid d既AI題目上面

[/size=6]強人工智能和弱人工智能[/size=6]
強人工智能
呢樣野又可以叫做通用人工智能,講緊係一部機械可以完完全全做到人類先做到既野,亦即係通過到圖靈測試或其他類近既AI測試。呢樣野一度被認為不可能存在,但係近幾年既電腦運算力同人工神經網路理論有飛躍性進步,加上Big Data加持,令到呢一個topic又再heat起來。但事實上,強人工智能仍然未被發明

弱人工智能
呢樣野已經存在,就係做特定任務的電腦軟件,都可以叫做弱人工智能。係2009年康乃爾大學俾左一d data入電腦入面,個program用左幾十個鐘就自己發掘出牛頓力學方程

雖然睇上去已經非常地有智能,但由於一個program只能做到一件事,所以唔算係真正意義上既AI。而家聲音,圖像,情感之類既電腦處理已經好成熟,但係點樣完全整合仍然係一個大難題。

==========================================================
大家可能睇左好多字too long didn't read, 但好可惜,之後1-2個chapter仍然係好多字好少圖

如果大家真係對現代AI有興趣可以等我寫到人工神經網絡先開始睇
2017-11-29 11:08:07
快d等緊,唔該
2017-11-29 11:14:08
評已正
2017-11-29 11:17:27
現代google/facebook之類既AI之所以能夠成功,主要歸功於big data既時代到臨,大家都手持一部手機,部手機仲要上到網影到相拍到片錄到聲,呢樣野對於數據收集非常有用。

但係單有big data係唔夠的,伴隨住big data而來既係機械學習技術。其實就已經唔係咩新野,不過由於big data既數據量實在非常之大,統計學係呢個時候就能夠有效發揮作用

機器學習
人工智能既發展有3個時期

推理 -> 知識 -> 學習[/size5]



[size=5]推理期
係古早既人工智能時期,科學家都覺得如果機器有邏輯推理能力,就可以好似人咁擁有智慧。呢樣野即係你學programming果陣的if else while for,但係好對唔住,雖然呢d logic係構成運算系統既核心,但係單係有邏輯推理,一部機器跟本無可能知道世界既原理,所以推理呢條路行唔通

知識期
係科學家了解到單係識得推理跟本就應付唔到世界既原理之後,佢地就suggest,如果電腦放曬本百科全書入去,你再問佢問佢問題,佢咪乜都識囉

事實唔係咁的,你睇下香港d填鴨式教育,就知呢種方式去令機器有智能,根本死路一條,於是係80年代,係電腦普及到大型公司同大學都已經配備, coding都已經容易左好多,數據既儲存量都比50年代上月球果陣d電腦多左唔知幾多倍。係咁既背景下,人類開始意識到數據可以用數學方法統計歸納,於是電腦學習呢個分支就慢慢建立出來

學習期
經過90年代個人電腦同多媒體發展,去到00年代apple推出smartphone,到今年發表iphone X,人類係呢20年間既數據收集可以話係遠遠超愈左過去幾千年既資訊量,點樣更有效運用呢d data,成為左今日AI/ Big Data界既重要課題,電腦學習係現時最有效俾機械發展人工智能既方式

以下將會介紹下唔同既學習方式,唔岩睇既,都係果句,等到人工神經網路果part先睇都ok
2017-11-29 11:21:18
it狗支持
2017-11-29 11:28:42
咁岩我畢業論文寫 論機械人的道德考量
巴打有冇reference?
2017-11-29 11:33:25
細佬我做image processing打code打左4年左右, 一年前開始睇google同facebook d image processing 同拎佢地d code來自己做development

其實香港真係好少人識當代最先進既AI,好多人仲以為係if else statement既年代,呢個post就簡單講解下AI係乜東西,其實AI唔止係alphago咁簡單架

係睇呢個post前可以先重溫下兩個舊post:

簡單了解AlphaGo 同今日既AI
https://lihkg.com/thread/257808/page/1

大數據深度學習 AI醫生診症快又準
https://lihkg.com/thread/404330/page/1

定義
係初步了解咩係AI前,先睇下唔同的哲學家點定義人工智能呢一樣野,當中最出名就一定係電腦之父圖靈提出的圖靈測試


電腦之父Alan Turing


sorry 呢個先係 16歲的Alan Turing

圖靈測試
呢個測試好簡單,你blind左咁去問一部機器,如果你無方法去分佢究竟係真人定係唔係,咁呢部機器就已經pass左圖靈測試,亦被認為係真正擁有人工智能

而家係無一部機器係成功通過圖靈測試,最近睇左一套電影,對圖靈測試有更深入既探究,講緊係究竟只係語言上通過圖靈測試是否真係可以被證明為有人工智能:

https://www.youtube.com/watch?v=15RZg4kp6qI
Ex_Machina 智能叛侶, netflix同google play都有,劇情一般但係就對咩係AI有比較深入既探討

係電腦岩岩發明既年代,所有同電算有關既基礎theory都好快速咁發展,當中最出名既要數人工智能之父約翰.麥卡錫1956年係第一次達特矛斯會議提出左「人工智能」一詞。佢既諗法同圖靈都係差唔多:

人工智能就是要讓機器的行為看起來就像是人所表現出的智能行為一樣。



但咁樣係咪就係真正既人工智能呢? 係哲學上又有另一個思想實驗,令唯心論同唯物論者對人工智能有唔同既理解

中文房間
如果麥卡錫同圖靈都係人工智能既唯物論派,咁約翰·希爾勒就應該係唯心論既代表人物

佢提出左中文房間呢個問題,呢個問題係關乎宇宙同人類既本質問題,不過呢樣野太複雜,呢度唔多講,介紹返個實驗先:

一個對漢語一竅不通,只說英語的人關在一間只有一個開口的封閉房間中。房間裏有一本用英文寫成的手冊,指示該如何處理收到的漢語訊息及如何以漢語相應地回覆。房外的人不斷向房間內遞進用中文寫成的問題。房內的人便按照手冊的說明,尋找到合適的指示,將相應的中文字元組合成對問題的解答,並將答案遞出房間。

事實上,房入面既人係完全唔識中文,佢只係按一d規律去達成「智能」既假像,而家既google/ siri 之類軟件好大程度都係做緊類似既野,係人工智能定義上,呢兩派仍然係爭論不休。不過,哲學問題通常都係知道左都唔會影響世界運作既野,咁我地focus返去d solid d既AI題目上面

[/size=6]強人工智能和弱人工智能[/size=6]
強人工智能
呢樣野又可以叫做通用人工智能,講緊係一部機械可以完完全全做到人類先做到既野,亦即係通過到圖靈測試或其他類近既AI測試。呢樣野一度被認為不可能存在,但係近幾年既電腦運算力同人工神經網路理論有飛躍性進步,加上Big Data加持,令到呢一個topic又再heat起來。但事實上,強人工智能仍然未被發明

弱人工智能
呢樣野已經存在,就係做特定任務的電腦軟件,都可以叫做弱人工智能。係2009年康乃爾大學俾左一d data入電腦入面,個program用左幾十個鐘就自己發掘出牛頓力學方程

雖然睇上去已經非常地有智能,但由於一個program只能做到一件事,所以唔算係真正意義上既AI。而家聲音,圖像,情感之類既電腦處理已經好成熟,但係點樣完全整合仍然係一個大難題。

==========================================================
大家可能睇左好多字too long didn't read, 但好可惜,之後1-2個chapter仍然係好多字好少圖

如果大家真係對現代AI有興趣可以等我寫到人工神經網絡先開始睇


可唔可以介紹幾本當今有權威性論AI有可能出現的書
2017-11-29 11:37:47
機器學習

分類
機器學習(Machine Learning, ML, 唔係make love 個ML), 主要分為3個大類


1. 監督學習 (Supervised Learning)
已知結果既訓練方式,再教返部機點樣做先係岩既方式,最常見就係回歸(regression), 支持向量機 (support vector machine, SVM), 同埋近期最hit的人工神經網路(artificaial neural network, ANN)

2. 無監督學習(Unsupervised Learning)
唔需要知道結果,由數據本身特性做歸納。最出名就係聚類(clustering)。

3. 強化學習(Reinforced Learning)
我地唔feed data俾電腦,淨係叫佢鳩行,行到岩就話俾佢知係岩,行錯左就屌鳩佢,由部機自由發展。呢程學習法人類由細到大都係咁做,你細個仆街仆得多去到大個左就識行路。呢個思路應用係機械人運動有非常之好既成本。

Reinforcement Learning近期最成功一定係Boston Dynamics隻機械人做後空翻啦
https://www.youtube.com/watch?v=WcbGRBPkrps

順手講下alphago, 佢最後versioni係1+3 一齊做,最新既alphago zero淨係用左3,係幾日內用google TPU已經贏曬人類4000年智慧

Machine learning algo有好多隻,實際上係要按照data先再決定用邊隻更有效

Decision tree learning
Association rule learning
Artificial neural networks
Deep learning

Inductive logic programming
Support vector machines
Clustering
Bayesian networks
Reinforcement learning
Representation learning
Similarity and metric learning
Sparse dictionary learning
Genetic algorithms
Rule-based machine learning

如果隻隻都想知係咩來,我真係無能力講,我真係識唔曬咁多款machine learning方式,網上laymen講下ANN同Deep Learning就算,真係有性趣可以睇下呢本天書


呢度有PDF:
https://dcs.abu.edu.ng/staff/abdulrahim-abdulrazaq/courses/cosc208/Artificial%20Intelligence%20A%20Modern%20Approach%20(3rd%20Edition).pdf
2017-11-29 11:41:04
咁岩我畢業論文寫 論機械人的道德考量
巴打有冇reference?

Philo朋友推薦,唔知岩唔岩你睇

https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwirmKL27eLXAhVHjLwKHTVaANcQFgglMAA&url=http%3A%2F%2Fmichaeljohnsonphilosophy.com%2Fwp-content%2Fuploads%2F2012%2F11%2FMechanical-Mind.pdf&usg=AOvVaw08fsReaqnKcP_2a4Axkcvr

工程書就有2-3本介紹下,github repository都有,講moral我真係唔識,我唔係哲學/道德撚
2017-11-29 11:51:38
巴打讀細電?
Dsp 好多數同stat 又要識programming
2017-11-29 11:56:26
人工神經元

生物神經元



我地人類既神經系統,係由呢張相既神經元細胞組成,呢d cell去到某一個年紀唔會再有新既/就算有新既都會好慢地regenerate,所以如果我地d神經線/腦部炒左大獲,就會好難醫

呢隻cell點樣運作呢?我唔係專攻neuroscience所以只可以簡介下

基本原理係俾d 電化學信號入cell的一邊,隻cell會改變個電信號,由另一邊再放返d唔同的電化學物質出來,一直傳到成個神經系統

再深少少講樹突(Dendrites) 食左d chemical,由cell body去決定點改變chemical 變化,再由軸突(Axon)放帶電chemical,整個機制好複雜下,複雜到醫院同大學要有一個專門department去醫同研究呢個area的問題

由於神經網路就係呢d neural cell既連接同放電,係發現呢個生物機理既時候就有人問,可唔可以用機器模仿呢種行為?答案係肯定的,於是人工神經網路呢種革新既算法就出現了

2017-11-29 12:13:39
人工神經元
點樣可以用數學表示一個神經元既行為?其實你中三左右就已經學左,就係用function呢個concept



你有n個輸入值,經過hidden function f(x1,x2,...,xn)後,會出個數字y,呢個就係最簡單既人工神經元了

問題係,用咩做人工神經元最好?最簡單,就係用linear function, 中二學生都識既y=mx+c去做,運算量最低,regression既方法亦都成熟

不過我地而家改下y=mx+c個樣,變左咁


你個輸出係所有weight (slope)同輸入既product既相加(Sum of w_i* x_i), 後面加多個偏向值(bias),即係linear function個y intercept,成舊野就叫夏天summer

但咁樣都唔係好夠,後面仲要加多個threshold function,講話最後個y輸出要大過某個數呢粒neuron先要被激活activate,咁先會傳送info去下一層既neuron,所以呢個function又叫activation function

以前threshold function用sigmoid function


而家權衡左運算力後,發現Rectified Linear Unit(ReLU)呢條function更快更準,雖然唔知點解會work但都係用住先,我d friend話呢個function既功能係加強成個network既非線性,ReLU係最簡單做到呢件事,事實上仲有反ReLU, 負ReLU之類既變化,不過既然work又快就唔好理了

2017-11-29 12:20:00
自從之前無聊玩excel撞見genetic algorithm
就對AI一見鍾情
留名學野
2017-11-29 12:23:22
咁岩我畢業論文寫 論機械人的道德考量
巴打有冇reference?

首先quote 番套Westworld 先
2017-11-29 12:35:04
香港做ai有咩好做?

睇andrew ng coursera & deep learning 睇左幾個月,都無咩呢d 工

自己搞又無咩data
2017-11-29 12:36:37
基本上你上面講個d 都睇過啦
2017-11-29 12:38:59
香港做ai有咩好做?

睇andrew ng coursera & deep learning 睇左幾個月,都無咩呢d 工

自己搞又無咩data

香港無,過日本,好多唔洗識日文都請
2017-11-29 12:42:10
lm
2017-11-29 12:44:18
巴打咩background?
讀緊MSc data science有冇機做到AI related既野
2017-11-29 12:48:58
雖然樓上講過下咩叫activation function,但係一個ANN算法呢條function唔係必需

summer得出來既結果,d人叫evidence(名來啫),咁要將呢個evidence轉成probability或者一d人可以理解既值,就會一用條叫softmax function既野

softmax(x) = normalize(e^x)



呢樣野就係將神經網路既輸出轉化成為概率值



有左呢舊野我地就得到一個分類器(Classifier),有分類器就可以幫我地做好多決定了



嘩個network咁多connect,寫得整齊d好唔好?得,而家轉做matrix form俾你睇下


唔好蝦我中學淨係讀左math core 唔識matrix,我識少少vector,改改佢我睇得明ok?





由於呢堆野都係vector matrix,數學上就叫tensor,所以呢...google個AI development kit就係tensorflow,講緊呢d tensor數字點流動

而我個人偏好facebook既ATen/ Torch,對於矩陣處理更為人性化,不過關於toolkit問題,我之後先再講

淨係得個network,其實係無學習功能的,係成個network最後層,我地再加多個regression function,咁樣就令成個network可以進行學習了



呢樣野有咩用?比如說我有個probability output 係[1,0,0], 而實際結果應該係[0, 1 ,0], 咁佢地之間既loss會好大,我地只要最少化佢地之間既loss,咁個預測應該就係最準

常用既loss function有logit同cross entropy之類

至於點樣對loss進行最小化,關乎一個叫做backward反向傳導既過程。呢個過程,就係要計下要點改weight同bias值,去令個network改變參數。

backward既運算法最出名係Stochastic Gradient Descent (SGD), 仲有d 咩Adam之類既最小化backward計算器,不過呢度唔再深入講

成個流程變左:
1. 輸入input {x_i}
2. 係網路向前傳送(forward), 包括 weight bias activation, 計output probability
3. 計loss,我地想最小化個loss
4. 用SGD等計算器計算各neuron既參數修改值(backward)
5. repeat以上1-4流程,直到loss最小化

ANN大概都係咁樣,之後我試下用一個例子,整個ANN出來做手寫數字分析
2017-11-29 12:49:28
等睇比人屌唔識中文又離地
2017-11-29 12:55:22
等睇比人屌唔識中文又離地

已經寫到好貼地
2017-11-29 12:56:58
巴打咩background?
讀緊MSc data science有冇機做到AI related既野

bachleor in physics, master唔講

基本上咩displine都可以用到AI
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞