普通程序員如何向人工智能靠攏?

1、普通程序員如何向人工智能靠攏?

0. 領域瞭解:在學習任何一門知識以前,首先第一步就是了解這個知識是什麼?它能作什麼事?它的價值在什麼地方?

1. 準備工做:若是你離校太久,或者以爲基礎不牢,最好事先作一下準備複習工做。「工欲善其事,必先利其器」。數學、英文和FQ。

2. 機器學習:機器學習的第一門課程首推Andrew Ng的機器學習.這門課程有如下特色:難度適中,同時有足夠的實戰例子,很是適合第一次學習的人。

3. 實踐作項目:學習完了基礎課程,你對機器學習就有了初步瞭解。如今使用它們是沒有問題的,你能夠把機器學習算法看成黑盒子,放進去數據,就會有結果。須要選擇一個應用方向,是圖像(計算機視覺),音頻(語音識別),仍是文本(天然語言處理)。

4. 深度學習:深度學習是目前最火熱的研究方向。有如下特色:知識更新快,較爲零碎,沒有系統講解的書。

5. 繼續機器學習:傳統的機器學習有以下特色,知識系統化,有相對經典的書。其中統計學習(表明SVM)與集成學習(表明adaboost)是在實踐中使用很是多的技術。

6. 開源項目:當知識儲備較爲充足時,學習能夠再次轉入實踐階段。這時候的實踐仍然能夠分兩步走,學習經典的開源項目或者發表高質量的論文。

7. 會議論文:通常較好的課程都會推薦你一些論文。一些著名的技術與方法每每誕生於一些重要的會議。所以,看往年的會議論文是深刻學習的方法。

8. 自由學習:到這裏了,能夠說是進入這個門了。下面能夠依據興趣來自由學習。


2、機器學習領域是否已經達到飽和?

機器學習人才大體能夠分爲兩類:一類是研究型人才,側重在發明算法; 另外一類爲應用型人才,着重於使用算法。

咱們絕大部分人恐怕屬於應用型人才,固然,這裏應用其實就是指垂直領域的綜合性應用,而不是mnist這類samples。

若是隻是調用機器學習的包(好比sklearn)作一些簡單的例子, 或者在caffe或tensorflow跑幾個例子,設計(修改)一下網絡,調整一下超參數,拿數據訓練及測試一下,這類人才未來確定會飽和的。工做量不大,又沒有太多創新的話,可替代性就高了。

那麼哪一種人才不容易被淘汰呢?以我的的經驗看,大體有這麼三種:

1.一種是具備必定的機器學習基礎,又對某個領域具備深入認識的人才。這類人在某個行業紮根很深好久,熟知其痛點和需求,尤爲清楚有哪些坑。既能夠在公司裏作產品經理,時機成熟也能夠創業,可謂進可攻退可守。

2.另外一種是技術基礎紮實,學習能力強,具備必定的理論基礎。尤爲是算法實現能力強,甚至能夠對框架進行優化,並且速度快的人,老闆最喜歡了。你能夠打聽一下,有多少公司在討(zhuang)論(bi)AI,但就是不知道怎麼作。數一數,恐怕有一大堆吧。

3.第三種是產品開發型人才,這類人可能不必定很懂算法,但很清楚怎麼作機器學習應用,怎麼把產品作到極致,好用。好比人臉識別系統,算法只是一小部分,更重要的是整個系統架構,作一個demo固然容易,但一個端到端的人臉識別系統包括視頻採集,解碼,人臉檢測,特徵提取與人臉數據庫(檢索),業務邏輯,聯動報警,分佈式多級部署等等。

以上第一類人才側重於"咱們要作什麼,哪一個方向",第二類人才側重於"怎麼作",第三類人才負責"怎麼把產品作好"。


3、深度學習如何入門?

首先是數學基礎,雖然這塊的要求並不須要學的很深刻,但基本的瞭解仍是要的
1. 線性代數,矩陣和張量的計算
2. 微積分
3. 機率,統計和隨機過程


第二塊是機器學習的基礎知識。深度學習是機器學習的一個分支,因爲在圖像識別、語音識別、機器翻譯等多個地方的效果卓越而流行起來的。
1. 數據,training, validation和testing
2. 線性模型,classification和regression
3. 貝葉斯網絡,SVM,馬爾科夫隨機場
4. cluster,k-means
5. 神經網絡


第三塊是編程。紙上得來終覺淺,絕知此事要編程。
同時,深度學習在目前階段,仍是須要很大的計算力來支持的,對於稍微有點規模有點實用的場景,分佈式和GPU都是須要涉及到的。
編程語言的話,C/C++確定會涉及,Python估計也沒法避免會遇到,java和lua等其餘語言會一些則更好,至於世界上最好的語言PHP不會倒可有可無。


第四塊是深度學習框架。
掌握了以上三塊後,要是從0開始搭建能應用級別的深度學習項目,簡直苦不堪言。
好在互聯網提供了不少深度學習框架,幫助咱們進行快速部署應用。


一、TensorFlow

 

TensorFlow是谷歌基於DistBelief進行研發的第二代人工智能學習系統,其命名來源於自己的運行原理。

Tensor(張量)意味着N維數組,Flow(流)意味着基於數據流圖的計算,TensorFlow爲張量從流圖的一端流動到另外一端計算過程。

TensorFlow是將複雜的數據結構傳輸至人工智能神經網中進行分析和處理過程的系統。

TensorFlow可被用於語音識別或圖像識別等多項機器深度學習領域,對2011年開發的深度學習基礎架構DistBelief進行了各方面的改進,它可在小到一部智能手機、大到數千臺數據中心服務器的各類設備上運行。

TensorFlow將徹底開源,任何人均可以用。

CS 20SI: Tensorflow for Deep Learning Research

二、Torch



Torch是一個有大量機器學習算法支持的科學計算框架,其誕生已經有十年之久,可是真正起勢得益於Facebook開源了大量Torch的深度學習模塊和擴展。

Torch另一個特殊之處是採用了編程語言Lua(該語言曾被用來開發視頻遊戲)。

三、Caffe
Caffe由加州大學伯克利的PHD賈揚清開發,全稱Convolutional Architecture for Fast Feature Embedding,是一個清晰而高效的開源深度學習框架,目前由伯克利視覺學中心(Berkeley Vision and Learning Center,BVLC)進行維護。(賈揚清曾就任於MSRA、NEC、Google Brain,他也是TensorFlow的做者之一,目前任職於Facebook FAIR實驗室。)



固然更有成熟應用產品,騰訊的DI-X深度學習平臺
https://cloud.tencent.com/product/dix

DI-X(Data Intelligence X)是基於騰訊雲強大計算能力的一站式深度學習平臺。它經過可視化的拖拽佈局,組合各類數據源、組件、算法、模型和評估模塊,讓算法工程師和數據科學家在其之上,方便地進行模型訓練、評估及預測。

目前支持 TensorFlow、Caffe、Torch 三大深度學習框架,並提供相應的經常使用深度學習算法和模型。DI-X 能夠幫助您快速接入人工智能的快車道,釋放數據潛力。




--------------------

參考:

深度學習如何入門?
https://www.zhihu.com/question/26006703/answer/91161384

普通程序員如何向人工智能靠攏?
https://www.zhihu.com/question/51039416/answer/126821822

機器學習領域是否已經達到飽和?
https://www.zhihu.com/question/54003912/answer/261459354

深度學習——你須要瞭解的八大開源框架
https://www.leiphone.com/news/201608/5kCJ4Vim3wMjpBPU.htmlhtml

相關文章
相關標籤/搜索