Friday, March 24, 2017

創業日記0039:求是‧求精

創業日記0039:求是‧求精

2017/03/24

明天是雄中三十週年同學會,我有些想出席的理由,也有些不想出席的理由。本來可以藉著返鄉祭祖順道參加,最後我還是選擇週間來去匆匆,這樣禮拜天還可以跟外傭一起照顧媽媽一天。

-----


回到高雄,已是華燈初上的傍晚時分。自從兩年前處理父親身後事,以及後續修繕老宅,我都改搭巴士。下車後不管搭捷運還是公車,往學校望過去,總是這幅街景,只是光影變幻不同。



印象中高中畢業後也曾返校數次,體育館是就學間就已蓋好,記得畢業典禮是在裡面舉行的,這次回去看,依然一副嶄新的面貌。同學會既不參加,母校總得回去看看。



本來只是打算在鐵柵外匆匆一瞥就走,不知怎地,竟有一股近鄉情怯的心情。一群小學弟們沿著從前沒有的旋轉門魚貫而入,我遲疑了一會兒,好吧,不用從大門進去,就也偷偷摸摸地尾隨而入。



一眼望過去,熟悉的字眼再度映入眼簾。「實事求是、精益求精」是我們的雄中精神,我經常以此勉勵自己,莫做一些虛偽的表面功夫。工程師不大要跟人打交道,不夠圓融,只要技術夠,還可有自己的生存之道。我真正入社會打滾一年多,才體會到人情冷暖。我現在對人的手腕有稍微進步一點點了,求是、求精,依然在我身上,虛偽的事,終究徒勞,老闆們,我以此話共勉之!



從前操場是黃土地,現在已經改成PU球場。想起從前朝會唱歌答數進操場,不免啞然一笑。這是小平頭、大盤帽的氛圍。我躲在樂隊混了兩年,這是高三才有的經驗。現在不會認為唱軍歌是浪費時間的無聊事了,時代有時代的框架,小市民們,不過就在威權體制下混口飯吃。唱就唱吧,言者諄諄,聽者藐藐,帝力於我何有哉?歷經長久的時間薰陶,大多數的荒謬事,都成了有趣的回憶。


羽球館拆掉,變成綜合大樓。羽球與我無緣,只有一次自不量力被大頭痛宰。多半在羽球館內就是聽演講。羽球館邊的福利社比較有意思,留級過的張同學總是在此跟醜醜的女店員搭訕閒聊。張同學與我有數面之緣,即便我對過去事有大小不忘之能,也想不起是不是跟他同班過,應該有吧!



往裡走去,吸引我的只是校徽,這個醜醜的怪物,倒有大友克洋的意味。仔細看,後面是火車。醜雖醜,怪雖怪,看久了倒也蠻可愛。



高聳的大王椰子,當年應該只有兩層樓的高度,這個是在第三棟跟第四棟之間,遠方是演藝廳,從前是工藝教室,最有意思的是鄒越西(?)老師,是高二,高一的怎麼也想不起了。高中三年,對高三十三組印象最深。藉著這張照片,我重新喚回高一跟高二的記憶。然後剛剛怪物的地點應該是美術教室跟健身房吧!真能大小事不忘嗎?有些遺失的,要靠想像力修補了。

相對於一二棟紅樓,第三棟屬於較新式的建築。所以我想起來了,高一七組在樓下,高二從第三類組轉到第二類組的二十組搬到樓上,然後剛開學的社團活動課(?),在教室打橋牌被教官李錚(?)抓到,有沒有被處罰也忘了。



高三的十三組在第二棟紅樓度過,其實是高二二十組的原班人馬,只是從高二到高三,第二類組留級或轉進社會組的同學增多,本班編號被移到前面。高三是印象較深刻的一年,這年還伴隨著髮禁解除,這也不提了,都是白頭宮娥的瑣碎小事。



圖書館,還是圖書館。高中三年,我在這兒借的書也不算少了,但有印象的只剩下一本,而且這本是唯一有借沒看的。「冰島漁夫」,高三,不知道是不是聯考前,江同學看到我借了這本,跟我講一句,你還在看這種書啊。我馬上把書還了,開始準備聯考。



弘毅樓,士不可以不弘毅,任重而道遠。跟我們的校訓「自強不息」、雄中精神「實事求是、精益求精」,都是一樣的調調。我雖然此刻以輕浮的口吻講來,其實這沈重的訓勉在此後的人生裡卻如影隨形,日夜不得鬆懈。

每晚在弘毅樓晚自習,有時會到操場裡跑個幾圈。但其實晚上在弘毅樓看書多半是在睡覺,不曉得為什麼,當時晚上就是很想睡覺,大概白天疲勞轟炸一整天,也夠了。



仔細看,這個是自立陸橋,是的,就是「雄中青年」有名的「自立橋畔」,其實就是笑話,應該是雄青社的社員們努力收集來的。這邊也有個車棚,左手邊是音樂教室,右手邊是工藝教室。音樂教室也拆了。音樂老師高一是陳德成老師,教我們聽古典音樂。貝六的「田園」是啟蒙,我買的是DECCA的蕭提。高二是杜稜老師,有心整頓樂隊,但跟隊員氣味不搭。



看到活動中心還在,我不由的樂了!:)活動中心可以在社團活動時打橋牌,但當時同學們多半在樹下找石頭坐就玩起來了,打制度的也不多。對我來說,就是排在第四節的自習課可以提前到此吃牛肉麵囉。



小學弟們用著晚餐!



逛到門口的KSHS。時代考驗青年,青年創造時代。如今已從青年前進到後中年、即將進入前老年期。不變的是依然被時代考驗、依然想創造時代。「想要我的寶藏嗎?想要的話可以全部給你,去找吧!我把所有的財寶都放在那裡!」



無聊的軍訓大樓也還在,現在的高中生還要上軍訓課嗎?回過頭來,教官其實人大部分都不錯,學生們有什麼麻煩事也都是教官處理,教官退出校園,那這些事誰來搞定?導師?教授?



逛畢校園,我回到司令台,享用我上車前在小七買的冷便當。這個是跟作家劉克襄學來的,便當買來不用微波,時間一過,漸漸變成常溫。多虧了這個便當,才讓我有一段回顧之旅。



用畢晚餐,夜漸漸深了。不過回顧之旅還沒結束,我帶著的一袋小蕃茄還沒享用呢!



小蕃茄吃完,也該走了。綜合大樓的佈告有兩則,這一則的主題是「時間」。



這一則的主題是「一個人吃年夜飯」。



終於真的要告別了。迴廊是真正的紅樓一樓,樓上是雄中的招牌第三類組,雖然這在全國裡面也不是真的很強。丙組的讀書風氣跟甲組差很多,我後來把這個經驗傳授給弟弟。弟弟從善如流選了第三類組,後來高醫牙醫也沒上,他就填了交大電信,並且一路唸完碩班。我呢,跌跌撞撞,最後也唸完了交大電控的博班。有意思的是交大電信跟電控在我就學的時候合併成交大電機,如此一來,我兄弟兩人,總算一起把交大電機從頭到尾讀完了。「誰是學長呢?」:)



校狗永遠是有的!

-----

後記:三十年後重聚的心情是興奮的。然而,如好同學跟我說的,我們都會退了,你才要開始,這頻率是對不起來的。但也虧了這個活動,母校重遊一番,我彷彿充電充飽,又精神滿滿了。然而,高興也好、消沈也好,都只能有一天。偉大的航路,還在前方等著我呢!

FB社團:AI

FB社團:AI

-----



◎ 台灣「人工智慧」社團
https://www.facebook.com/groups/Taiwan.AI.Group/?fref=ts 

△ 台灣機器學習與人工智慧同好會
https://www.facebook.com/groups/1126153717456741/

△ 人工智慧/自然語言處理/搜尋引擎
https://www.facebook.com/groups/959050367523488/?fref=ts

△ AI人工智慧與機器人社團
https://www.facebook.com/groups/1852135541678378/ 

△ 人工智慧與機器人學習交流俱樂部
https://www.facebook.com/groups/205835109792195/

△ Deep Learning Taiwan
https://www.facebook.com/groups/twdnn/?fref=ts

△ OpenAI@TW
https://www.facebook.com/groups/259799017688463/?fref=ts

◎ 香港深度學習交流會 - Hong Kong Deep Learning Study Group
https://www.facebook.com/groups/170776840085989/


-----



△ 人工知能応用研究室
https://www.facebook.com/groups/AIAppLab/

△ 人工知能研究会 / AIR
https://www.facebook.com/groups/1024547137580925/

△ 汎用人工知能について語ろう!
https://www.facebook.com/groups/sig.agi.jp/

--

◎ ロボットと人工知能のある社会
https://www.facebook.com/groups/813342132068841/

-----



AI Korea (Deep Learning)
https://www.facebook.com/groups/AIKoreaOpen/

--

TensorFlow KR
https://www.facebook.com/groups/TensorFlowKR/

딥러닝 오픈소스 스터디 (TensorFlow, Caffe 등)
https://www.facebook.com/groups/caffestudy/

-----



AI & Deep Learning Enthusiasts Bay Area
https://www.facebook.com/groups/1691724667816799/?fref=ts

Artificial Intelligence & Deep Learning
https://www.facebook.com/groups/DeepNetGroup/?fref=ts

Deep AI
https://www.facebook.com/groups/DeepAI/

Deep learning
https://www.facebook.com/groups/DeepLearnng/?fref=ts

Deep Learning / AI
https://www.facebook.com/groups/1738168866424224/

HH Machine Learning and Artificial Intelligence
https://www.facebook.com/groups/hhmachinelearning/?fref=ts

Nvidia Deep Learning
https://www.facebook.com/groups/NvidiaDL/

Strong Artificial Intelligence
https://www.facebook.com/groups/strongartificialintelligence/?fref=ts

Wit.ai Hackers
https://www.facebook.com/groups/withackers/?fref=ts

-----



Deep Learning & Artificial Intelligence Germany
https://www.facebook.com/groups/939105009506344/?fref=ts
 
-----



Intelligence Artificielle, Neurotechnologie, Robotique et Transhumanisme
https://www.facebook.com/groups/1655802661300145/

-----



Deep Learning Italia
https://www.facebook.com/groups/196584677432705/?fref=ts

-----

西



-----




-----

希伯來

Machine & Deep learning Israel
https://www.facebook.com/groups/543283492502370/?fref=ts

-----

FB社團:TensorFlow

TensorFlow Taiwan
https://www.facebook.com/groups/294714030866185/

TensorFlow Group
https://www.facebook.com/groups/tensorflowdevelopers/?fref=ts



-----

FB社團:其他技術:

Angular User Group Taiwan
https://www.facebook.com/groups/augularjs.tw/

◎ AWS User Group Taiwan
https://www.facebook.com/groups/awsugtw/

Computer Vision Taiwanese Group
https://www.facebook.com/groups/112719202116662/

golang
https://www.facebook.com/groups/golanggonuts/?fref=ts

Golang Gopher Taiwan
https://www.facebook.com/groups/1667684473462867/

Go程式語言 (Golang Taiwan, Gopher Taipei)
https://www.facebook.com/groups/269001993248363/?fref=ts 

Julia Taiwan
https://www.facebook.com/groups/1787971081482186/

Python Taiwan
https://www.facebook.com/groups/pythontw/

Wednesday, March 22, 2017

AI從頭學(目錄)

FB社團:台灣「人工智慧」社團

FB社團:AI

AI從頭學(目錄)

AI從頭學(一):文獻回顧 

AI從頭學(二):Popular Deep Learning Software Tools

AI從頭學(三):Popular Deep Learning Hardware Tools

AI從頭學(四):AD and LeNet

AI從頭學(五):AD and Python

AI從頭學(六):The Net

AI從頭學(七):AD and Python from Jason 

AI從頭學(八):The Net from Mark  

AI從頭學(九):Back Propagation  

AI從頭學(一0):Automatic Differentiation

AI從頭學(一一):A Glance at Deep Learning 

AI從頭學(一二):LeNet 

AI從頭學(一三):LeNet - F6 

AI從頭學(一四):Recommender

AI從頭學(一五):Deep Learning,How?

AI從頭學(一六):Deep Learning,What? 

AI從頭學(一七):Shallow Learning 

AI從頭學(一八):Convolutional Neural Network

AI從頭學(一八):Convolutional Neural Network

AI從頭學(一八):Convolutional Neural Network

2017/03/22

有關 Convolutional Neural Network (CNN) [1],我建議先瞭解一下 BP Algorithm [2],然後再看我寫的兩篇 LeNet 的文章 [3], [4],Goodfellow 的 CNN 並不容易看懂 [5]。雖然之前已經有相關的研究 [6]-[10],但 Yann LeCun 才算開啟現代 CNN 研究的先河 [11]-[15] 。

在 LeNet-5 [13] 之後,CNN 又有持續的演進,更多層,準確率更高,硬體需求也更高(參考圖1)。包含2012 AlexNet [16]-[19]、2013 ZFNet [20], [21]、2014 GoogLeNet [22]、2014 VGGNet [23]、2015 ResNet [24]-[28]、2016 DenseNet [29], [30]、2017_SqueezeNet [31] 等等。

以上的CNNs,在 [32] 有簡潔明瞭的介紹,參考圖2。本文以推薦這本書為主要目的,有心於深度學習的讀者,強力建議購買。想直接看論文者,我已經幫忙查好了!:)

-----


Fig. 1. Evolution of depth, p. 33, [33].

-----


Fig. 2. 深度學習: Caffe 之經典模型詳解與實戰 [32]。

-----

References

[1] Convolutional neural network - Wikipedia
https://en.wikipedia.org/wiki/Convolutional_neural_network

[2] AI從頭學(九):Back Propagation
http://hemingwang.blogspot.tw/2017/02/aiback-propagation.html

[3] AI從頭學(一二):LeNet
http://hemingwang.blogspot.tw/2017/03/ailenet.html

[4] AI從頭學(一三):LeNet - F6
http://hemingwang.blogspot.tw/2017/03/ailenet-f6.html

[5] 9 Convolutional Networks
http://www.deeplearningbook.org/contents/convnets.html 

◎ 1983 Neocognitron

[6] 1974_A biological approach to pattern recognition

[7] 1975_Cognitron, A self-organizing multilayered neural network

[8] 1982_Neocognitron, A new algorithm for pattern recognition tolerant of deformations and shifts in position

[9] 1983_Neocognitron, a neural network model for a mechanism of visual pattern recognition

[10] 1988_Neocognitron, A hierarchical neural network capable of visual pattern recognition

◎ 1998 LeNet

[11] 1994_Word level training of a handwritten word recognizer base on convolutional neural networks

[12] 1997_Reading checks with multilayer graph transformer networks

[13] 1998_Gradient-Based Learning Applied to Document Recognition

[14] 2009_What is the best multi-stage architecture for object recognition

[15] 2012_Convolutional neural networks applied to house numbers digit classification

◎ 2012 AlexNet

[16] 2009_Learning multiple layers of features from tiny images

[17] 2012_Imagenet classification with deep convolutional neural networks

◎ Dropout

[18] 2013_Regularization of neural networks using dropconnect

[19] 2014_Dropout, a simple way to prevent neural networks from overfitting

◎ 2013 ZFNet

[20] 2013_Stochastic pooling for regularization of deep convolutional neural networks

[21] 2014_Visualizing and understanding convolutional networks

◎ 2014 GoogLeNet

[22] 2015_Going deeper with convolutions

◎ 2014 VGGNet

[23] 2015_Very deep convolutional networks for large-scale image recognition

◎ 2015 ResNet

[24] 2015_Deep residual learning for image recognition

[25] 2016_Deep residual learning for image recognition

[26] 2016_Identity mappings in deep residual networks

[27] 2016_Resnet in resnet, Generalizing residual architectures

[28] Torch  Training and investigating Residual Nets
http://torch.ch/blog/2016/02/04/resnets.html

◎ 2016 DenseNet

[29] 2014_Densenet, Implementing efficient convnet descriptor pyramids

[30] 2016_Densely connected convolutional networks

◎ 2017_SqueezeNet

[31] 2017_SqueezeNet, AlexNet-level accuracy with 50x fewer parameters and 0.5 MB model size

-----

[32] 書名:深度學習: Caffe 之經典模型詳解與實戰,ISBN:7121301180,作者:樂毅,出版社:電子工業,出版日期:2016-09-30.

[33] Convnets.pdf
http://www.cs.toronto.edu/~guerzhoy/411/lec/W06/convnets.pdf 

-----

【短評】深度学习:Caffe之经典模型详解与实战

2017/02/15

【短評】深度学习:Caffe之经典模型详解与实战

https://www.amazon.cn/%E5%9B%BE%E4%B9%A6/dp/B01N3KU68R

這本很棒!

這幾個禮拜,我趁著到台北的機會到天瓏書局逛逛。這本介紹了幾個很有名的CNN模型,讓我對這個技術的沿革有更深的瞭解。

折合台幣約五百元,我考慮了很久,還是沒買,因為我要戒掉買書的習慣,改成以電子書跟論文為主。上兩波C++跟MPEG我都買了一堆沒看的書,意義不大!

其餘的簡體中文DL書則沒有引起我很大的興趣。我把目錄貼出來,準備照著這個順序K論文!

目录
第1章绪论1
第2章深度学习11
第3章Caffe简介及其安装配置36
第4章Caffe网络定义58
第5章LeNet模型88
第6章AlexNet模型107
第7章GoogLeNet模型126
第8章VGGNet模型146
第9章Siamese模型158
第10章SqueezeNet模型168
第11章FCN模型177
第12章R—CNN模型196
第13章Fast—RCNN模型217
第14章Faster—RCNN模型239
第15章SSD模型264
第16章Kaggle项目实践:人脸特征检测290
第17章Kaggle项目实践:猫狗分类检测311

-----

目录

第1章绪论1
1.1引言1
1.2人工智能的发展历程2
1.3机器学习及相关技术4
1.3.1学习形式分类4
1.3.2学习方法分类5
1.3.3机器学习的相关技术7
1.4国内外研究现状8
1.4.1国外研究现状8
1.4.2国内研究现状9
第2章深度学习11
2.1神经网络模型11
2.1.1人脑视觉机理11
2.1.2生物神经元13
2.1.3人工神经网络15
2.2BP神经网络18
2.2.1BP神经元18
2.2.2BP神经网络构成19
2.2.3正向传播21
2.2.4反向传播21
2.3卷积神经网络24
2.3.1卷积神经网络的历史25
2.3.2卷积神经网络的网络结构26
2.3.3局部感知27
2.3.4参数共享28
2.3.5多卷积核28
2.3.6池化(Pooling)29
2.4深度学习框架30
2.4.1Caffe30
2.4.2Torch31
2.4.3Keras32
2.4.4MXNet32
2.4.5TensorFlow33
2.4.6CNTK33
2.4.7Theano34
第3章Caffe简介及其安装配置36
3.1Caffe是什么36
3.1.1Caffe的特点38
3.1.2Caffe的架构38
3.2Caffe的安装环境39
3.2.1Caffe的硬件环境39
3.2.2Caffe的软件环境43
3.2.3Caffe的依赖库44
3.2.4Caffe开发环境的安装46
3.3Caffe接口52
3.3.1CaffePython接口52
3.3.2CaffeMATLAB接口55
3.3.3Caffe命令行接口56
第4章Caffe网络定义58
4.1Caffe模型要素58
4.1.1网络模型58
4.1.2参数配置62
4.2GoogleProtobuf结构化数据63
4.3Caffe数据库65
4.3.1LevelDB65
4.3.2LMDB66
4.3.3HDF566
4.4CaffeNet66
4.5CaffeBlob68
4.6CaffeLayer70
4.6.1DataLayers71
4.6.2ConvolutionLayers75
4.6.3PoolingLayers76
4.6.4InnerProductLayers77
4.6.5ReLULayers78
4.6.6SigmoidLayers79
4.6.7LRNLayers79
4.6.8DropoutLayers80
4.6.9SoftmaxWithLossLayers80
4.6.10SoftmaxLayers81
4.6.11AccuracyLayers81
4.7CaffeSolver82
Solver方法83
第5章LeNet模型88
5.1LeNet模型简介88
5.2LeNet模型解读89
5.3Caffe环境LeNet模型91
5.3.1mnist实例详解91
5.3.2mnist手写测试103
5.3.3mnist样本字库的图片转换106
第6章AlexNet模型107
6.1AlexNet模型介绍107
6.2AlexNet模型解读108
6.3AlexNet模型特点111
6.4Caffe环境AlexNet模型训练112
6.4.1数据准备112
6.4.2其他支持文件113
6.4.3图片预处理113
6.4.4ImageNet数据集介绍113
6.4.5ImageNet图片介绍115
6.4.6ImageNet模型训练115
6.4.7Caffe的AlexNet模型与论文的不同124
6.4.8ImageNet模型测试124
第7章GoogLeNet模型126
7.1GoogLeNet模型简介126
7.1.1背景和动机127
7.1.2Inception结构127
7.2GoogLeNet模型解读129
7.2.1GoogLeNet模型结构129
7.2.2GoogLeNet模型特点134
7.3GoogLeNet模型的Caffe实现135
第8章VGGNet模型146
8.1VGGNet网络模型146
8.1.1VGGNet模型介绍146
8.1.2VGGNet模型特点147
8.1.3VGGNet模型解读147
8.2VGGNet网络训练149
8.2.1VGGNet训练参数设置149
8.2.2Multi—Scale训练149
8.2.3测试150
8.2.4部署150
8.3VGGNet模型分类实验150
8.3.1Single—scale对比150
8.3.2Multi—scale对比151
8.3.3模型融合152
8.4VGGNet网络结构153
第9章Siamese模型158
9.1Siamese网络模型159
9.1.1Siamese模型原理159
9.1.2Siamese模型实现160
9.2Siamese网络训练165
9.2.1数据准备165
9.2.2生成side165
9.2.3对比损失函数166
9.2.4定义solver166
9.2.5网络训练166
第10章SqueezeNet模型168
10.1SqueezeNet网络模型168
10.1.1SqueezeNet模型原理168
10.1.2FireModule169
10.1.3SqueezeNet模型结构170
10.1.4SqueezeNet模型特点171
10.2SqueezeNet网络实现172
第11章FCN模型177
11.1FCN模型简介177
11.2FCN的特点和使用场景178
11.3CaffeFCN解读179
11.3.1FCN模型训练准备180
11.3.1FCN模型训练183
第12章R—CNN模型196
12.1R—CNN模型简介196
12.2R—CNN的特点和使用场景197
12.3CaffeR—CNN解读198
12.3.1R—CNN模型训练准备198
12.3.2R—CNN模型训练201
第13章Fast—RCNN模型217
13.1Fast—RCNN模型简介217
13.2Fast—RCNN的特点和使用场景218
13.3CaffeFast—RCNN解读220
13.3.1Fast—RCNN模型训练准备220
13.3.2Fast—RCNN模型训练222
第14章Faster—RCNN模型239
14.1Faster—RCNN模型简介239
14.2Faster—RCNN的特点和使用场景241
14.3CaffeFaster—RCNN解读242
14.3.1Faster—RCNN模型训练准备242
14.3.2Faster—RCNN模型训练244
第15章SSD模型264
15.1SSD模型简介264
15.2SSD的特点和使用场景266
15.3CaffeSSD解读267
15.3.1SSD模型训练准备267
15.3.2SSD模型训练268
第16章Kaggle项目实践:人脸特征检测290
16.1项目简介290
16.2赛题和数据291
16.3Caffe训练和测试数据库293
16.3.1数据库生成293
16.3.2网络对比295
16.3.3网络一296
16.3.4网络二300
16.3.5Python人脸特征预测程序306
第17章Kaggle项目实践:猫狗分类检测311
17.1项目简介
17.2赛题和数据
17.3Caffe训练和测试数据库
17.3.1数据库生成
17.3.2Caffe实现
17.3.3CatdogNet训练
17.3.4CatdogNet模型验证 

Tuesday, March 21, 2017

創業日記0038:柳暗‧花明

創業日記0038:柳暗‧花明

2017/03/21

光陰似箭,日月如梭。

不知不覺,博士班我已經畢業一年半,而我寫創業日記也一年多了。

-----


-----

照片是我每天上班會經過的赤土崎停車場,通常我會走下面,可以看一下國宅旁高聳參天的木棉樹,現在正在開花。如果有大型遊覽車暫停,為了避免吸到柴油的廢氣,我就走上面這條路。

照片的草地修剪得很好,有時遇到雨季,草一下就長高了!

創業的事還是在很艱難的狀態下進行,還好有一塊已經分給室友做了。另外,在強攻了四個月之後,最難的AI已經拿下,最熱的GAN已經參透。回過頭來先跟室友把 prototype 做出,然後就是合作廠商重新談過一遍、招募新的團隊成員,以及創投,然後才能正式開張。

跟幾個創業的朋友聊天,大家心得其實差不多,只差別人不會像我把「地獄」兩個字講出來。然而,創業是好的,創業改變了我。

最好的一件事是什麼呢?那就是你對「好」、「壞」會漸漸看淡。要真的看淡是不容易的,但是你已經從無數的事件中觀察到,好事未必是好事,譬如當初一堆公司要合作,最後是一場空。壞事也未必是壞事,創業不成功,養精蓄銳重整旗鼓來過,當初沒有在big data啟動,新的ai才是真正有亮點。

有時晚上不看論文,還是可以讀一點書的。

第九十七回  林黛玉焚稿斷癡情  薛寶釵出閨成大禮
第九十八回  苦絳珠魂歸離恨天  病神瑛淚灑相思地

最近紅樓夢看到這兩回,其實沒有特別感動,即便真實生活中我還是愛恨交織。欣喜與悲傷我都要看淡,風箏的缺角補齊後,我就要飛了!

AI從頭學(一七):Shallow Learning

AI從頭學(一七):Shallow Learning

2017/03/21

這篇標題 Shallow Learning,其實是 Deep Learning。我自己學了幾個月,有點心得,但不敢妄言深度,只是希望對想自學的人有點幫助。

如果有時間的話,我會建議從頭瀏覽一遍。

AI從頭學(目錄)

如果自覺程度不錯,可以直接看重點的三篇,然後再看我推薦的三本書。

AI從頭學(九):Back Propagation  

AI從頭學(一0):Automatic Differentiation

AI從頭學(一二):LeNet 

網路上的資源很多,可以自行搜尋,就不一一介紹。

底下三本我在台北市天瓏書局翻過,有志於 DL 的年輕人,可以投資購買。

-----


Fig. 1. Artificial Intelligence for Humans, Volume 3: Deep Learning and Neural Networks

https://www.amazon.com/Artificial-Intelligence-Humans-Learning-Networks/dp/1505714346

這本在 Amazon 的評價兩極。我個人翻閱過,認為內容恰好是入門者所需。但如果你在全無基礎的狀況下閱讀,我想還是很困難。我的話因為已經搜尋過相當多的網路資源,稍有些概念,所以覺得這本書很不錯,對入門者,該講的都講了,不該講的也沒講。

-----


Fig. 2. Artificial Neural Networks

https://www.amazon.com/Artificial-Neural-Networks-Graham-Zakar/dp/1523409371/ref=sr_1_1?s=books&ie=UTF8&qid=1490085524&sr=1-1&keywords=graham+zakar

書名就讓它有點吃虧。內容也有點偏離Deep Learning,而是接近較廣義的ANN。條目多,所以內容就淺,而且因為每個條目篇幅較小,反而不容易講的仔細。每篇都有參考資料,可以省下時間。

如果要買,至少先翻閱一下。

-----



Fig. 3. Deep Learning

http://www.deeplearningbook.org/

這本真是經典了,賣的也很好。雖然我用的是網路版,但我建議想學DL的年輕人一定要買一本來仔細鑽研。

全書共二十章,架構如圖5。一開始是數學,我建議先跳過。第一個主角是CNN,但我建議先看我寫的 LeNet 那篇導讀。第二個主角是 RNN,但一開始 LSTM 可能不容易瞭解。這兩章是基礎。

然後我從GAN切入,這個現在正紅。GAN 隱身在第二十章的 20.10.4 裡,想讀 GAN,就得從第二十章的開頭知道要讀 16-19 章。然後 16 章又會要你讀 3.14。最後你需要的 GAN 裡面前兩個式子的定義可以從第三章取得。細節稍後再說。

圖四定義了AI的範疇,從AI到ML到RL到DL。

-----

Fig. 4. AI.


Fig. 5. AI Structure.

AI從頭學(一六):Deep Learning,What?

AI從頭學(一六):Deep Learning,What?

2017/03/21

看 GAN 有一小段時間了。上週 Jason 建議我看 Goodfellow 的 Deep Learning 之後,我當天晚上就把第二十章翻過一遍,找到 GAN 相關的章節。然後在星期天利用半天的時間看懂 GAN 這篇論文。當天晚餐時邊吃飯又順便看懂 LSTM。希望在我已經寫過這系列文章的此時,不要被認為是在吹牛。


這篇其實只是預告,接下來我會花一些時間,把我知道的CNN、RNN、以及GAN整理一下寫出來。目標是講的很淺近,造福像我一樣的入門者,不會寫的很深入,我目前的程度,也無法寫得很深入。

-----

我何其幸運,在適當的時候,得到適當的指點,而且我還咬著牙照做了。

Deep Learning 的 hello world 是 LeNet,而且是 Mark 說的 LeNet,而不是照著範例程式跑一遍。LeNet-5 的論文,要比 Goodfellow 的 CNN 那一章專注,比較容易上手。

LeNet 之後,我有點找不到方向,也不好意思再問。但是我還記得 Mark 說過 RL、GAN 才是現在的重點,於是我又開始看 GAN。GAN 比 LeNet 難不少,但是看懂以後,其實 LeNet 跟 GAN 要看懂真的不難,想出這點子才難,LeCun 跟 Goodfellow 真的是天才!

Jason 建議我看 Goodfellow 之後,我先把 GAN 相關的章節找出來。然後我照著 Mark 的話,重新看一下論文一開始的兩行公式。為了看懂這兩行公式,我把統計學的教科書找出來,有點幫助。重點是後來我靈機一動, Goodfellow 這本不是有機率的章節嗎?果不其然,相關需要的定義幾乎都在。定義搞懂,後面就勢如破竹了。

所以我再一次謝謝 Mark 跟 Jason!回報的方式就是繼續寫入門的文章。

-----

寫完 GAN 後我要繼續忙 HLS 跟 AWS,所以沒有時間把第二十章詳細讀完,但是我答應,如果 Jason 要我講我寫的東西,我可以準備一下,找個時間到讀書會報告。

本來我覺得我的程度不夠,參加讀書會無法吸收。但是看懂GAN後,連帶 Representation Learning 的基礎是 Autoencoders,都屬生成模型。然後 Reinforcement Learning 是一堆方法的集合。這些我都有興趣了。如果 Jason 找我到讀書會聽報告,有時間我也樂意到會場向眾講師們學習。

要跟 Jason 說聲抱歉,目前我能做的,就只有這樣了。

-----

我跟 Mark 請教過,他說他學DL的原因,之前是興趣,現在是工作。

Jason 辦讀書會的目的是:凝聚並壯大台灣人工智慧社群力量,促進人工智慧相關研究、技術和產業在台灣的深耕、發展、應用與合作。

我自己學DL,是為了將博士論文變成一個服務、一家公司。前一段時間本來要用 Big Data,後來發現AI才是王道。

你呢?

-----

引用FB資料 :

台灣「人工智慧」社團

1. LeNet

Mark Chang : 我其實很少在看paper的,我覺得學Deep Learning要先把基礎打好,再去看paper才學得到東西,例如你若可以不看任何參考資料,直接在白紙上用python且不用任何可自動微分的套件 來寫LeNet,寫出來的code直接輸入電腦後可以訓練且跑出應有的結果,那你的CNN實作的基礎就很扎實了。有這種功力再來看paper就會快很多。 不然其實看再多paper但是遇到數學公式就跳過,也沒去實作它,這樣就只是蜻蜓點水而已。 

Mark Chang :想當初,我是從去年一月開始,利用下班之餘自學Deep Learning。我之前研究和這方面沒什麼相關,那時我也是想先從看paper入手,但常常一篇paper看了兩星期也看不懂,花了四個月都還摸不著頭 緒。去年五月時,我認識一個叫Fxxxx Wxxx的神人,他實作了Neural Turing Machine的paper,而且沒用任何可自動微分的套件,實作之後還跑出和paper上一樣的結果。這讓我體會到,原來高手是這樣學習的。與其花很多 時間看很多paper但每篇都看不太懂,不如好好看一篇重要的paper,把它從頭到尾實作出來。去年七月時,Fxxx Wxxx跟我說要去英國面試DeepMind,從此之後我就很少在台灣見到他了,因為他已經錄取了。

Mark Chang :後來我就照他這方法來學習,把基礎打好之後,一天看5篇paper都不是什麼問題,而且通常看完abstract就能猜出90%的內容。不 過,paper講的東西,來得快,去得也快,尤其像Deep Learning是進展快速的領域,新的東西一直出來,舊的paper一個月就被超越了,唯一不變的是最基本的RNN和CNN之類的模型,幾乎每篇 paper都是在這些基本架構上的延伸。弄懂這些基礎的,就能貫穿全部。

2. GAN

Jason Tsai: 東看西看不見得是最有效率的方法。有心的話,認領 Deep Learning 一書其中一個章節 (13章(含)以後) 來參加一個月一次的 Deep Learning 101 讀書會。

Friday, March 17, 2017

AI從頭學(一五):Deep Learning,How?

AI從頭學(一五):Deep Learning,How?

2017/03/17

引用FB資料 :

台灣「人工智慧」社團

Jason Tsai: 東看西看不見得是最有效率的方法。有心的話,認領 Deep Learning 一書其中一個章節 (13章(含)以後) 來參加一個月一次的 Deep Learning 101 讀書會。

http://www.deeplearningbook.org/


-----

我自己勉強算是資工出身的,後來念了很久的數學,後來又念了很久的信號處理。在念博班同時,我還花了相當多的時間念英文跟其他外文,以及生理學。即便如此,在我剛開始接觸Deep Learning時,還是覺得Deep Learning門檻相當高。這個在一開始社團的討論串,大家已經各抒己見了!

我很幸運,在一接觸Deep Learning時,就加入了台灣「人工智慧」社團。這個社團,是我參加過,最有趣的社團。Jason像是誨人不倦的老闆,Mark像是功力深厚、神龍見首不見尾的大師兄,Ton Ton像是熱心負責的助教。我這樣比喻,不曉得能不能引起大家會心一笑:)

Mark的話對我來說接近真理,我想我算是半通過第一關LeNet了。在我對Deep Learning稍有認識的四個月後的今天,我覺得Deep Learning的門檻實在是「超高」,我隱約可以見到高聳入雲,直達天際的「芭比」塔頂了!

這時,Jason又出聲了!在時間極少的狀況下,答應加入讀書會,對我來說,等於是魔鬼的誘惑。我當然知道跟高手切磋,功力可以大進,這個我之前參加基神徒弟的seminar時就見識過了。答應了,準備不週,丟人現眼不打緊,還耽誤大家的時間!

即便如此,在這個點,我知道Jason是對的,我打算答應,但不是立刻。

http://www.deeplearningbook.org/contents/generative_models.html

第二十章,DEEP GENERATIVE MODELS,我會開始看。為什麼呢?因為在我的「遠大目標」中,DEEP GENERATIVE MODELS 只是第一步,如果這一步跨不過,我要如何進行下去呢?我要做的是:

 DEEP GENERATIVE MODELS OF MUSIC。

即便如此,在此刻,自不量力,立刻答應,毫無疑問是愚蠢的作為。我想跟社團同仁說的部分已經說完了。Jason,你說動我了!剩下的,我們私底下再研究!:)

Thursday, March 16, 2017

AI從頭學(一四):Recommender

AI從頭學(一四):Recommender

2017/03/16

前言:

如何在Azure上建立AI的個人化新聞推薦系統?本文列出部分參考資料。

底下純屬紙上談兵,若有不足之處,還請不吝指教!

-----

Summary:

推薦系統 [1] 可用於個人化新聞推薦 [2]-[6],或是個人化財經新聞推薦 [7], [8]。概念上是在 Hadoop [9]-[30] 上跑 Mahout [31]-[34]。也可以使用記憶體作為暫存的 Spark [35]-[45],在速度上有驚人的提升。實作上則是先用 Sqoop [46] 把 SQL [47] 上的資料搬到HDFS [48] 上。

如果要在 Azure [49]-[62] 上做,一樣要先把 Azure SQL [63], [64] 的資料先移到 Azure 的 Hadoop,也就是 HDInsight [65]-[67] 上,再跑 Azure 的 Machine Learning Service [68]-[70]。

如要自行將演算法 [2]-[8] 開發成系統,微軟推薦 F# [71]。F# [72]-[84] 屬於 Functional Programming 的程式語言,有簡潔的程式碼、較高的產能等種種好處。

Deep Learning [85]-[91] 也可用來開發推薦系統 [92]-[97],今日頭條是此中翹楚;目前總員工 2,500 名,工程師有 1,500 個,其中 800 名工程師聚焦在演算法、資料分析 [98]。

-----

References

◎ 01_Recommender

[1] 2015_Recommender Systems Handbook

-----

◎ 02_News

[2] 2013_Personalized News Recommendation Using Ontologies Harvested from the Web

[3] 2013_Mobile Recommender Systems and Their Applications

[4] 2011_News personalization using the CF-IDF semantic recommender

[5] 2010_Personalized news recommendation based on click behavior

[6] 2010_A contextual-bandit approach to personalized news article recommendation

-----

◎ 03_Financial

[7] 2015_Personalized Financial News Recommendation Algorithm Based on Ontology

[8] 2000_Language models for financial news recommendation

-----

◎ 04_Hadoop

[9] 2015_Learning Hadoop 2

[10] 2015_Hadoop,The definitive guide

[11] 2015_Hadoop Essentials

[12] 2015_Hadoop Backup and Recovery Solutions

[13] 2015_Guide to high performance distributed computing, case studies with Hadoop, Scalding and Spark

[14] 2015_Field Guide to Hadoop

[15] 2015_Big data made easy, a working guide to the complete Hadoop toolset

[16] 2015_Big Data Governance, Modern Data Management Principles for Hadoop, NoSQL & Big Data Analytics

[17] 2015_Big Data Forensics, Learning Hadoop Investigations

[18] 2014_Pro Apache Hadoop

[19] 2014_Practical Hadoop security

[20] 2014_Hadoop For Dummies

[21] 2013_Securing Hadoop

[22] 2013_Professional Hadoop Solutions

[23] 2013_Hadoop Real-World Solutions Cookbook

[24] 2013_Hadoop Operations and Cluster Management Cookbook

[25] 2013_Hadoop Cluster Deployment

[26] 2013_Hadoop Beginner's Guide

[27] 2012_Hadoop Operations

[28] 2012_Hadoop in Practice

[29] 2010_Hadoop in Action

[30] 2009_Pro Hadoop

-----

◎ 05_Mahout

[31] 2015_Learning Apache Mahout

[32] 2015_Learning Apache Mahout Classification

[33] 2013_Apache Mahout Cookbook

[34] 2011_Mahout in Action

-----

◎ 06_Spark

[35] 2016_Spark Guide

[36] 2016_Pro Spark Streaming

[37] 2016_High Performance Spark

[38] 2015_Spark for Python Developers

[39] 2015_Spark Core Programming

[40] 2015_Mastering Apache Spark

[41] 2015_Learning Spark

[42] 2015_Getting Started with Apache Spark

[43] 2015_Fast Data Processing with Spark

[44] 2015_Big Data Analytics with Spark

[45] 2015_Advanced Analytics with Spark

-----

◎ 07_Sqoop

[46] 2013_Apache Sqoop Cookbook

-----

◎ 08_SQL

[47] 2013_Microsoft SQL Server 2012 with Hadoop

-----

◎ 09_HDFS

[48] 2010_The Hadoop Distributed File System

-----

◎ 10_Azure

[49] 2015_Microsoft Azure, planning, deploying, and managing your data center in the cloud

[50] 2015_Microsoft Azure Essentials, Fundamentals of Azure

[51] 2015_Microservices, IoT, and Azure, leveraging DevOps and microservice architecture to deliver SaaS solutions

[52] 2015_Hardening Azure Applications

[53] 2015_15 minute Azure Installation, Set up the Microsoft Cloud Server by the Numbers

[54] 2014_Zen of Cloud, Learning Cloud Computing by Examples on Microsoft Azure

[55] 2014_Mastering Hyper-V 2012 R2 With System Center and Windows Azure

[56] 2014_Learning Windows Azure Mobile Services for Windows 8 and Windows Phone 8

[57] 2012_Programming Microsoft's Clouds, Windows Azure and Office 365

[58] 2012_Cloud Architecture Patterns Using Microsoft Azure

[59] 2011_Windows Azure platform

[60] 2011_Azure in Action

[61] 2009_Windows Azure platform

[62] 2009_Introduction to Windows Azure, an introduction to cloud computing using Microsoft Windows Azure

-----

◎ 11_SQL

[63] 2012_Pro SQL Database for Windows Azure, SQL Server in the Cloud

[64] 2010_Pro SQL Azure

-----

◎ 12_HDInsight

[65] 2014_Pro Microsoft HDInsight, Hadoop on Windows

[66] 2014_Microsoft Big Data Solutions

[67] 2013_HDInsight Essentials

-----

◎ 13_ML

[68] 2015_Predictive analytics with Microsoft azure machine learning, build and deploy actionable solutions in minutes

[69] 2015_Data Science in the Cloud with Microsoft Azure Machine Learning and R

[70] 2014_Predictive analytics with Microsoft azure machine learning, build and deploy actionable solutions in minutes

-----

◎ 14_ML_F#

[71] 2015_Machine Learning Projects for _NET Developers

-----

◎ 15_F#

[72] 2016_Beginning F# 4_0

[73] 2015_Learning F# Functional Data Structures and Algorithms

[74] 2015_Expert F# 4_0

[75] 2014_The Book of F#, Breaking Free with Managed Functional Programming

[76] 2013_Windows Phone 7_5 Application Development with F#

[77] 2013_Functional Programming Using F#

[78] 2013_F# for Quantitative Finance

[79] 2013_F# for C# Developers

[80] 2012_Programming F# 3_0

[81] 2012_Expert F# 3_0

[82] 2010_Visual Studio 2010 and _NET 4 Six-in-One

[83] 2010_Expert F# 2_0

[84] 2007_Expert F#

-----

◎ 16_DL_Overview

[85] 2016_Towards Bayesian Deep Learning, A Survey

[86] 2016_Deep Learning on FPGAs, Past, Present, and Future

[87] 2015_Deep learning

[88] 2015_Deep learning in neural networks, An overview

[89] 2014_Deep Learning, Methods and Applications

[90] 2012_Unsupervised feature learning and deep learning, A review and new perspectives

[91] 2009_Learning deep architectures for AI

-----

◎ 17_DL_RS

[92] 2016_Deep neural networks for youtube recommendations

[93] 2016_Collaborative denoising auto-encoders for top-n recommender systems

[94] 2015_Deep collaborative filtering via marginalized denoising auto-encoder

[95] 2015_Collaborative deep learning for recommender systems

[96] 2014_Improving content-based and hybrid music recommendation using deep learning

[97] 2013_Deep content-based music recommendation

[98] 4 年拿下 7,400 萬日活躍用戶,今日頭條已經準備跨入全球市場
http://technews.tw/2016/12/08/toutiao-china-global-market/ 

Tuesday, March 14, 2017

工業4.0從頭學(二):天下

工業4.0從頭學(二):天下

2017/03/14

AI, Big Data,Cloud,IoT (Internet of Things, 物聯網), 都是工業4.0的一環。

客製化生產是其中很重要的一環。

簡單下個註解:工業4.0不是科技的革新,而是技術的整合,與觀念的創新。

-----

有一陣子沒到清大人社院圖書館了,今天為了查閱有關工業4.0過期天下的資料,下午特別又跑一趟。意外發現當期、過期雜誌都有電子資源可用。

看完《天下564期》、《天下601期》,加上《工業4.0理論與實務》提到的技術,應該可以對工業4.0有個概念。我把標題做成圖檔,讀者可以參閱。

狀況是:德國提出並領先,西門子是代表。中國跟德國合作,西門子已經在成都打造第二個工業4.0的工廠。美國、日本緊追,但資源看似尚未整合。台灣有一些企業,也開始行動了。

創投、創業者、企業家、科技工作者,以及所有人,都可以想想,自己在工業4.0裡可以扮演什麼角色,工業4.0又將如何改變我們的生活。

底下把裡面提到的企業列出。

天下564:
西門子。
研華,工業電腦。
上銀,機器人、機器手臂。

天下601:
宏遠興業,紡織。
明基友達,電腦周邊、面板。
西門子。
勞斯萊斯,飛機引擎、汽車。
奧普蒂瑪。包裝設備。
凱馳,清潔設備。
哈雷,機車。



Fig. 1. 天下雜誌第564期目錄。2015/01/07 出版。




Fig. 2. 天下雜誌第601期目錄。2016/07/06 出版。



Fig. 3. 工業4.0理論與實務目錄。2016/07/01 出版。

Monday, March 13, 2017

工業4.0從頭學(一):理論與實務

工業4.0從頭學(一):理論與實務

2017/03/13

最近因受邀去跟某汽車零件廠老闆報告AI跟Big Data,所以我先花了一些時間做功課。

-----

(一)首先想像一下傳統產業會對這個議題抱持怎樣的興趣

若以汽車業為例,自駕車是最熱的應用,
這個世界大廠都投入研發了。

也有汽車零件廠投入AI研發的:
http://technews.tw/2017/01/05/ai-nvidia-zf-proai/

若以機械相關的應用,有機器人與機器手臂等。
若以生醫產業為例,相關的例子可能是美思科技的智慧床墊。

老闆並無特別反應。

-----

(二)六標準差可能是切入點

Using Big Data for Machine Learning Analytics in Manufacturing
http://www.tcs.com/resources/white_papers/Pages/Machine-Learning-Analytics-in-Manufacturing.aspx

Why Big data may supersede Six Sigma
https://hohmannchris.wordpress.com/2015/05/25/why-big-data-may-supersede-six-sigma/

Enhancing Lean Six Sigma with advanced analytics
https://industrial-iot.com/2016/01/how-advanced-analytics-can-integrate-with-and-enhance-the-lean-six-sigma-process/

How Can Lean Six Sigma Help Machine Learning?
http://www.kdnuggets.com/2016/11/lean-sigma-six-help-machine-learning.html

Boost your six sigma process using machine learning techniques
http://thedatascienceinstitute.blogspot.tw/2016/03/boost-your-six-sigma-process-using.html


老闆並無特別反應。

-----

(三)工業4.0才是王道

偶然間跟大學以及博士班同學一起聊天,發現老闆要的答案應該是「工業4.0」,而且我大學同學開的公司已經在幫半導體廠做了。

圖書館內相關書籍沒有很多,底下這本雖然都是淺嚐即止,但是意思到了!不過它的人工智慧只限於machine learning,並無deep learning。

內容雖像是拼湊給教育部交差,但其所附參考資料還是很紮實。章節編排意思也到了。

工業4.0理論與實務
作者: 臺北科技大學
出版社:全華圖書
出版日期:2016/07/01

第一章 工業4.0簡介
第二章 物聯網   
第三章 雲端運算
第四章 大數據
第五章 人工智慧
第六章 工廠自動化
第七章 智慧製造
第八章 工業4.0之應用與發展

http://www.books.com.tw/products/0010723696

FB社團:工業4.0

FB社團:工業4.0

-----

Industry 4.0/5.0 Global Group
https://www.facebook.com/groups/1455617381147349/