自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

人工智能入門,怎么選擇腳踏實(shí)地的工作崗位?

人工智能
我們不說怎么能夠成為XXX,我們先來看看成為XXX之后要做什么事情,而做這些事情,需要什么樣的能力,在擁有了這些能力、做上了這件事情之后,又能向什么方向發(fā)展。換言之,本文中,我們將從直觀的角度,管窺承擔(dān)不同角色工作所需要具備的素質(zhì),日常工作的狀態(tài),和職業(yè)發(fā)展路徑。

[[235638]]

人工智能,已經(jīng)跌入到兩三年前大數(shù)據(jù)風(fēng)口上,全民皆“數(shù)據(jù)科學(xué)家”的套路里了。

到底做什么,算是入行AI?

這個話題其實(shí)在筆者之前的幾個chat里面已經(jīng)反復(fù)提到過了,在此再說一遍:工業(yè)界直接應(yīng)用AI技術(shù)的人員,大致可以分為三個不同角色:算法、工程,和數(shù)據(jù)。

現(xiàn)在各種媒體上,包括 GitChat 中有大量的文章教大家怎么入行AI,怎么成為具體某個領(lǐng)域的工程師,告訴大家要在某領(lǐng)域內(nèi)發(fā)展需要掌握的技術(shù)棧是什么,等等……

我們不說怎么能夠成為XXX,我們先來看看成為XXX之后要做什么事情,而做這些事情,需要什么樣的能力,在擁有了這些能力、做上了這件事情之后,又能向什么方向發(fā)展。

換言之,本文中,我們將從直觀的角度,管窺承擔(dān)不同角色工作所需要具備的素質(zhì),日常工作的狀態(tài),和職業(yè)發(fā)展路徑。

做算法

1.1 日常工作

所有人都想做算法,那么,說到底,在工業(yè)界做算法倒是干什么?

真正的算法工程師(也有公司叫科學(xué)家),最基本的日常工作其實(shí)是:讀論文&實(shí)現(xiàn)之——確認(rèn)***論文中的闡述是否真實(shí)可重現(xiàn),進(jìn)一步確認(rèn)是否可應(yīng)用于本企業(yè)的產(chǎn)品,進(jìn)而將其應(yīng)用到實(shí)踐中提升產(chǎn)品質(zhì)量。

1.2 必備能力

既然日常工作首先是讀別人論文。那么,必不可少,作為算法工程師得具備快速、大量閱讀英語論文的能力。

有一個網(wǎng)站,所有有志于算法的同學(xué)必須要知道:https://arxiv.org ——這里有多個學(xué)科(包括computer science)大量的***論文。

現(xiàn)在許多科學(xué)家、學(xué)者、研究人員和博士生在論文剛剛完成,尚未在正式期刊會議上發(fā)表時就先將論文發(fā)布在此處,為的是在盡量短的時間延誤下對外傳播自己的成果。

傳統(tǒng)的正規(guī)渠道,從論文完成到正式發(fā)表之間存在短則三四個月,長則一年半載的延遲。這對一些傳統(tǒng)學(xué)科,還勉強(qiáng)可以接受。

但計(jì)算機(jī)科學(xué),尤其是人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)這幾個當(dāng)今世界最熱門的主題,大家都在爭分奪秒地?fù)屨贾聘唿c(diǎn),幾個月的耽擱根本不能容忍。

因此,對于AI的學(xué)術(shù)性文獻(xiàn)而言,arxiv.org 實(shí)際上已經(jīng)成為了當(dāng)前的集大成之地。

如果要做算法,平均而言,大致要保持每周讀一篇***論文的頻率。

也許這就是為什么,到目前為止,筆者所聽聞和見過的算法工程師都是名校相關(guān)專業(yè)博士的原因。

經(jīng)過幾年強(qiáng)化學(xué)術(shù)研究訓(xùn)練,這些博士們,就算英語綜合水平不過 CET-4,也能讀得進(jìn)去一篇篇硬骨頭似的英語論文!

1.3 自測“算法力”

但當(dāng)然不能說碩士、學(xué)士或者其他專業(yè)的有志之士就做不成算法了。人都不是生而知之,不會可以學(xué)嘛。

但是到底能不能學(xué)會,其實(shí)也并不需要三年五載的時間,花費(fèi)幾萬十幾萬金錢在各種培訓(xùn)或者付費(fèi)閱讀上才能夠知道。

有個很簡單的驗(yàn)證方法:現(xiàn)在就去https://arxiv.org找一篇論文(比如這篇:Dynamic Routing Between Capsules),從頭到尾讀一遍。

現(xiàn)在不懂沒關(guān)系,至少先試試在不懂的情況下能不能把它從頭到尾一字不漏的讀完,有不認(rèn)識的字查字典。

如果這都做不到,還是當(dāng)機(jī)立斷和“算法”分手吧。既然注定無緣,何必一味糾纏?

1.4 學(xué)術(shù)實(shí)踐能力

如果,碰巧你喜歡讀論文,或者就算不喜歡也有足夠強(qiáng)大的意志力、專注力壓迫自己去強(qiáng)行閱讀論文。那么恭喜你,你已經(jīng)跨上了通往算法山門的***級臺階。

下面一級是:讀懂論文。

既然要讀論文,讀***論文,而且閱讀的目的是指導(dǎo)實(shí)踐,那么自然要讀懂。拿起一篇論文就達(dá)到懂的程度,至少需要下面這三種能力:

1.4.1 回溯學(xué)習(xí)能力

一篇論文拿來一看,一大堆名詞術(shù)語不懂,它們互相之間是什么關(guān)系也不知道。怎么辦?去讀參考文獻(xiàn),去網(wǎng)上搜索,去書籍中查找……總之,動用一切資源和手段,搞清不明概念的含義和聯(lián)系。

這種能力是學(xué)術(shù)研究的最基礎(chǔ)能力之一,一般而言,有學(xué)術(shù)背景的人這一點(diǎn)不在話下。

如果現(xiàn)在沒有,也可以去主動培養(yǎng),那么可能首先需要學(xué)習(xí)一下學(xué)術(shù)研究方法論。

1.4.2 數(shù)學(xué)能力

如果只是本著學(xué)習(xí)的目的讀經(jīng)典老論文,那么只要清楚文中圖表含義,看公式推導(dǎo)明白一頭一尾(最開始公式成立的物理意義,以及結(jié)束推導(dǎo)后最終形式所具備的基本性質(zhì))也就可以了。

但讀***論文就不同。因其新,必然未經(jīng)時光檢驗(yàn),因此也就沒人預(yù)先替你驗(yàn)證的它的正確性。

在這種情況下,看公式就得看看推導(dǎo)了。否則,外一是數(shù)學(xué)推導(dǎo)有錯,導(dǎo)致了過于喜人的結(jié)果,卻無法在實(shí)踐中重現(xiàn),豈不空耗時力?

如果目前數(shù)學(xué)能力不夠,當(dāng)然也可以學(xué)。但就與后面要說的做工程用到什么學(xué)什么的碎片化學(xué)習(xí)不同,做算法,需要系統(tǒng)學(xué)習(xí)數(shù)學(xué)。

微積分、線性代數(shù)、概率統(tǒng)計(jì),是無法回避的。如果在這方面有所缺乏,那還是先從計(jì)算機(jī)系的本科數(shù)學(xué)課開始吧,個人推薦北師大教材。

做工程

2.1 日常工作

相對于算法的創(chuàng)新和***,做工程要平實(shí)得多。

這一角色比較有代表性的一種崗位就是:機(jī)器學(xué)習(xí)工程師(或戲稱調(diào)參工程師)——他們使用別人開發(fā)的框架和工具,運(yùn)行已有算法,訓(xùn)練業(yè)務(wù)數(shù)據(jù),獲得工作模型。

其間可能需要一些處理數(shù)據(jù)、選取特征或者調(diào)節(jié)參數(shù)的手段,不過一般都有據(jù)可循,并不需要自己去發(fā)明一個XXXX。

做工程也得讀論文,不過和做算法不同,做工程讀論文的一般目的不是嘗試***方法,而是用已知有效的方法來解決實(shí)際問題。

這就導(dǎo)致了,做工程的,讀的經(jīng)常是“舊”論文,或者相對學(xué)術(shù)含量低一些(不那么硬)的論文。

而且在閱讀時,主要是為了直接找到某個問題的處理方法,因此,可以跳讀。

對于其中的數(shù)學(xué)公式,能夠讀懂頭尾也就可以了。論文閱讀頻率和學(xué)術(shù)深度的要求,都比做算法低得多。

當(dāng)然,既然是有領(lǐng)域的程序員,在專業(yè)上達(dá)到一定深度也是必要的。

雖然做工程一般要使用現(xiàn)成技術(shù)框架,但并不是說,直接把算法當(dāng)黑盒用就可以做一名合格的“調(diào)參”工程師了。

把算法當(dāng)黑盒用的問題在于:黑盒能夠解決問題的時候,使用方便,而一旦不能解決問題,或者對質(zhì)量有所要求,就會感覺無所適從。

做工程,「機(jī)器學(xué)習(xí)」學(xué)到多深夠用

當(dāng)然,既然是有領(lǐng)域的程序員,在專業(yè)上達(dá)到一定深度也是必要的。

雖然做工程一般要使用現(xiàn)成技術(shù)框架,但并不是說,直接把算法當(dāng)黑盒用就可以做一名合格的“調(diào)參”工程師了。

把算法當(dāng)黑盒用的問題在于:黑盒能夠解決問題的時候,使用方便,而一旦不能解決問題,或者對質(zhì)量有所要求,就會感覺無所適從。

做數(shù)據(jù)

此處說得做數(shù)據(jù)并非數(shù)據(jù)的清洗和處理——大家可以看到做工程的崗位,有一部分工作內(nèi)容就是 ETL 和處理數(shù)據(jù)。此處說的做數(shù)據(jù)是指數(shù)據(jù)標(biāo)注。

3.1 標(biāo)注數(shù)據(jù)的重要性

雖然機(jī)器學(xué)習(xí)中有無監(jiān)督學(xué)習(xí),但在實(shí)踐領(lǐng)域被證明有直接作用的,基本上還都是有監(jiān)督模型。

近年來,深度學(xué)習(xí)在很多應(yīng)用上取得了巨大的成功,而深度學(xué)習(xí)的成功,無論是圖像、語音、NLP、自動翻譯還是AlphaGo,恰恰依賴于海量的標(biāo)注數(shù)據(jù)。

無論是做ML還是DL的工程師(算法&工程),后者有甚,都共同確認(rèn)一個事實(shí):現(xiàn)階段而言,數(shù)據(jù)遠(yuǎn)比算法重要。

3.2 數(shù)據(jù)人工標(biāo)注的必要性

數(shù)據(jù)標(biāo)注的日常工作

簡單說:數(shù)據(jù)標(biāo)注的日常工作就是給各種各樣的數(shù)據(jù)(文本、圖像、視頻、音頻等)打上標(biāo)簽。

【好消息】:數(shù)據(jù)標(biāo)注工作幾乎沒有門檻。一般任何專業(yè)的大學(xué)畢業(yè)生,甚至更低學(xué)歷,都能夠勝任。上手不需要機(jī)器學(xué)習(xí)之類的專業(yè)知識。

【壞消息】:這樣一份工作,是純粹的“臟活累活”,一點(diǎn)都不cool,起薪也很低。

打個不太恰當(dāng)?shù)谋扔鳎?/p>

做算法是屠龍,仗劍江湖,天外飛仙;

做工程是狩獵,躍馬奔騰,縱酒狂歌;

做數(shù)據(jù)是養(yǎng)豬,每天拌豬食清豬糞,一臉土一身泥。

所以,雖然這是一件誰都能干的工作,但是恐怕,沒幾個人想干。

認(rèn)清形勢,腳踏實(shí)地

近來一段時間,能明顯感到,想入行AI的人越來越多,而且增幅越來越大。

為什么這么多人想入行AI呢?真的是對計(jì)算機(jī)科學(xué)研究或者擴(kuò)展人類智能抱著***的熱忱嗎?說白了,大多數(shù)人是為了高薪。

人們?yōu)榱双@得更高的回報(bào)而做出選擇、努力工作,原本是非常正當(dāng)?shù)氖虑?。關(guān)鍵在于,找對路徑。

尋求入行的人雖多,能真的認(rèn)清市場當(dāng)前的需求,了解不同層次人才定位,并結(jié)合自己實(shí)際尋找一條可行之路的人太少。

人人都想“做算法”,卻不想想:大公司里的研究院養(yǎng)著一群高端科學(xué)家,有得是讀了十幾二十年論文始終站在AI潮頭的資深研究人員。

下面分享,ShuffleNet算法詳解

算法詳解:

ShuffleNet是Face++的一篇關(guān)于降低深度網(wǎng)絡(luò)計(jì)算量的論文,號稱是可以在移動設(shè)備上運(yùn)行的深度網(wǎng)絡(luò)。這篇文章可以和MobileNet、Xception和ResNeXt結(jié)合來看,因?yàn)橛蓄愃频乃枷?。卷積的group操作從AlexNet就已經(jīng)有了,當(dāng)時主要是解決模型在雙GPU上的訓(xùn)練。ResNeXt借鑒了這種group操作改進(jìn)了原本的ResNet。MobileNet則是采用了depthwise separable convolution代替?zhèn)鹘y(tǒng)的卷積操作,在幾乎不影響準(zhǔn)確率的前提下大大降低計(jì)算量,具體可以參考MobileNets-深度學(xué)習(xí)模型的加速。Xception主要也是采用depthwise separable convolution改進(jìn)Inception v3的結(jié)構(gòu)。

該文章主要采用channel shuffle、pointwise group convolutions和depthwise separable convolution來修改原來的ResNet單元,接下來依次講解。

channel shuffle的思想可以看下面的Figure 1。這就要先從group操作說起,一般卷積操作中比如輸入feature map的數(shù)量是N,該卷積層的filter數(shù)量是M,那么M個filter中的每一個filter都要和N個feature map的某個區(qū)域做卷積,然后相加作為一個卷積的結(jié)果。假設(shè)你引入group操作,設(shè)group為g,那么N個輸入feature map就被分成g個group,M個filter就被分成g個group,然后在做卷積操作的時候,***個group的M/g個filter中的每一個都和***個group的N/g個輸入feature map做卷積得到結(jié)果,第二個group同理,直到***一個group,如Figure1(a)。不同的顏色代表不同的group,圖中有三個group。這種操作可以大大減少計(jì)算量,因?yàn)槟忝總€filter不再是和輸入的全部feature map做卷積,而是和一個group的feature map做卷積。但是如果多個group操作疊加在一起,如Figure1(a)的兩個卷積層都有g(shù)roup操作,顯然就會產(chǎn)生邊界效應(yīng),什么意思呢?就是某個輸出channel僅僅來自輸入channel的一小部分。這樣肯定是不行的的,學(xué)出來的特征會非常局限。于是就有了channel shuffle來解決這個問題,先看Figure1(b),在進(jìn)行GConv2之前,對其輸入feature map做一個分配,也就是每個group分成幾個subgroup,然后將不同group的subgroup作為GConv2的一個group的輸入,使得GConv2的每一個group都能卷積輸入的所有g(shù)roup的feature map,這和Figure1(c)的channel shuffle的思想是一樣的。

pointwise group convolutions,其實(shí)就是帶group的卷積核為1*1的卷積,也就是說pointwise convolution是卷積核為1*1的卷積。在ResNeXt中主要是對3*3的卷積做group操作,但是在ShuffleNet中,作者是對1*1的卷積做group的操作,因?yàn)樽髡哒J(rèn)為1*1的卷積操作的計(jì)算量不可忽視。可以看Figure2(b)中的***個1*1卷積是GConv,表示group convolution。Figure2(a)是ResNet中的bottleneck unit,不過將原來的3*3 Conv改成3*3 DWConv,作者的ShuffleNet主要也是在這基礎(chǔ)上做改動。首先用帶group的1*1卷積代替原來的1*1卷積,同時跟一個channel shuffle操作,這個前面也介紹過了。然后是3*3 DWConv表示depthwise separable convolution。depthwise separable convolution可以參考MobileNet,下面貼出depthwise separable convolution的示意圖。Figure2(c)添加了一個Average pooling和設(shè)置了stride=2,另外原來Resnet***是一個Add操作,也就是元素值相加,而在(c)中是采用concat的操作,也就是按channel合并,類似googleNet的Inception操作。

下圖就是depthwise separable convolution的示意圖,其實(shí)就是將傳統(tǒng)的卷積操作分成兩步,假設(shè)原來是3*3的卷積,那么depthwise separable convolution就是先用M個3*3卷積核一對一卷積輸入的M個feature map,不求和,生成M個結(jié)果,然后用N個1*1的卷積核正常卷積前面生成的M個結(jié)果,求和,***得到N個結(jié)果。具體可以看另一篇博文:MobileNets-深度學(xué)習(xí)模型的加速。

Table 1是ShuffleNet的結(jié)構(gòu)表,基本上和ResNet是一樣的,也是分成幾個stage(ResNet中有4個stage,這里只有3個),然后在每個stage中用ShuffleNet unit代替原來的Residual block,這也就是ShuffleNet算法的核心。這個表是在限定complexity的情況下,通過改變group(g)的數(shù)量來改變output channel的數(shù)量,更多的output channel一般而言可以提取更多的特征。

實(shí)驗(yàn)結(jié)果:

Table2表示不同大小的ShuffleNet在不同group數(shù)量情況下的分類準(zhǔn)確率比較。ShuffleNet s*表示將ShuffleNet 1*的filter個數(shù)變成s倍。arch2表示將原來網(wǎng)絡(luò)結(jié)構(gòu)中的Stage3的兩個uint移除,同時在保持復(fù)雜度的前提下widen each feature map。Table2的一個重要結(jié)論是group個數(shù)的線性增長并不會帶來分類準(zhǔn)確率的線性增長。但是發(fā)現(xiàn)ShuffleNet對于小的網(wǎng)絡(luò)效果更明顯,因?yàn)橐话阈〉木W(wǎng)絡(luò)的channel個數(shù)都不多,在限定計(jì)算資源的前提下,ShuffleNet可以使用更多的feature map。

Table3表示channel shuffle的重要性。

Table4是幾個流行的分類網(wǎng)絡(luò)的分類準(zhǔn)確率對比。Table5是ShuffleNet和MobileNet的對比,效果還可以。

總結(jié):

ShuffleNet的核心就是用pointwise group convolution,channel shuffle和depthwise separable convolution代替ResNet block的相應(yīng)層構(gòu)成了ShuffleNet uint,達(dá)到了減少計(jì)算量和提高準(zhǔn)確率的目的。channel shuffle解決了多個group convolution疊加出現(xiàn)的邊界效應(yīng),pointwise group convolution和depthwise separable convolution主要減少了計(jì)算量。 

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2012-07-30 09:56:55

云計(jì)算敏捷SEA

2010-03-17 10:08:35

2017-09-13 12:48:18

金融云供銷科技工具性

2023-03-03 14:39:50

數(shù)字化

2016-01-29 19:48:16

華為

2015-12-25 14:52:03

軟件定義網(wǎng)絡(luò)SDN銳捷

2012-03-01 14:04:24

王樹彤敦煌網(wǎng)

2020-07-13 10:48:17

人工智能

2020-10-28 10:00:27

5G

2020-10-29 08:01:02

6G

2015-05-05 09:45:15

GMGC

2017-03-31 09:09:20

人工智能工作崗位人類

2011-05-27 09:53:14

打印機(jī)體驗(yàn)

2020-12-18 09:25:04

物聯(lián)網(wǎng)5G科技

2021-01-05 14:32:44

5G網(wǎng)絡(luò)聯(lián)通

2018-05-11 08:49:40

人工智能

2018-06-15 09:36:32

人工智能花旗銀行金融

2020-05-06 15:18:37

戴爾

2020-12-17 17:20:17

AI人工智能工作崗位
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號