轉(zhuǎn)型AI產(chǎn)品經(jīng)理,原來不需要學(xué)那么深的算法和數(shù)學(xué)模型
本文作者是從互聯(lián)網(wǎng)產(chǎn)品經(jīng)理轉(zhuǎn)型成了AI工程師,其文章特點是能通過簡單有趣的文字介紹AI技術(shù)概念。本文是他的第一篇文章,以饗大家。
Hello,World!
這是我的第一篇文章,如果你還沒系統(tǒng)地學(xué)習(xí)過AI算法相關(guān)知識,它應(yīng)該能夠讓你對AI有些新的認知和理解、多些信心,至少你不會再覺得AI是那么高不可攀、遙不可及,相反,AI是普通人也可以理解、學(xué)習(xí)和實現(xiàn)的。
大概可以用以下幾個標(biāo)簽簡單概括我:前互聯(lián)網(wǎng)產(chǎn)品經(jīng)理、大學(xué)學(xué)渣、非計算機專業(yè)、不懂編程,可以說是除了瞎逼逼,啥也不會…
跟點進這篇文章的你一樣,我最開始也是驚嘆和憧憬于AI的神奇?zhèn)ゴ鬅o所不能,馬上就要改變世界取代人類啊~
不一樣的可能是,我當(dāng)時腦子一熱:放棄數(shù)年的產(chǎn)品經(jīng)驗,開始自學(xué)編程(python)和AI實現(xiàn)算法(傳統(tǒng)機器學(xué)習(xí)和深度學(xué)習(xí)算法),走上轉(zhuǎn)型AI之路。
最開始決定轉(zhuǎn)型其實也是蠻糾結(jié)的,初期在網(wǎng)上看到經(jīng)驗分享,感覺機器學(xué)習(xí)的門檻真的是高的一逼啊。
文章中各種出現(xiàn)高等數(shù)學(xué)、線性代數(shù)和概率論的東東, 把我這個學(xué)渣嚇得瑟瑟發(fā)抖…..
某個周六晚上,在酒吧里喝掉幾杯啤酒后,借著酒意我做出了決定:搞,是個坑我也跳了…請稍稍腦補不懂編程還是學(xué)渣的我當(dāng)時那種略帶悲壯而又自我感動的狀態(tài)!
然后就開始苦哈哈地補高數(shù)、線代、概率論,苦哈哈地學(xué)python編程,苦哈哈地看Andrew Ng、Peter Harrington、Siraj等一眾大神的書籍視頻學(xué)習(xí)機器學(xué)習(xí)….
苦哈哈的狀態(tài)持續(xù)了一段時間,隨著學(xué)習(xí)的推進,慢慢我也可以熟練地使用python寫算法寫腳本,傳統(tǒng)機器學(xué)習(xí)和深度學(xué)習(xí)中的經(jīng)典常用算法,也基本都算學(xué)習(xí)和實踐過了。
我得到的結(jié)論是:傳統(tǒng)機器學(xué)習(xí)和深度學(xué)習(xí)的門檻并沒有那么高,至少是以算法工程師為主要需求的“工程應(yīng)用領(lǐng)域”的門檻,是沒有那么高的。
網(wǎng)上確實有很多不錯的資料,但總是充斥著較多的數(shù)學(xué)、生澀的描述,其實并不是很適合作為小白的我們(請大牛自動屏蔽哈)入門。
作為毫無技術(shù)背景從零開始入門機器學(xué)習(xí)的產(chǎn)品經(jīng)理,我或許更能理解同為小白的你的痛點和需求,我自己的公眾號“小白AI之路”的初衷,也是希望能夠通過更有趣、更直觀、更少數(shù)學(xué)的方式跟零基礎(chǔ)的童鞋共同學(xué)習(xí)AI相關(guān)知識。
叨逼叨結(jié)束,下面進入正題,快!上車吧!AI可以很簡單!
一、讓我們先來說說“AI是什么”
首先,我們先來界定接下來所要討論的AI的定義和范疇。
AI是Artificial Intelligence的縮寫,中文是大家廣知的“人工智能”。 AI可以理解為讓機器具備類似人的智能,從而代替人類去完成某些工作和任務(wù)。
很多小伙伴對AI的認知可能來自于《西部世界》、《AI》、《超能陸戰(zhàn)隊》、《機器人總動員》、《超能查派》等影視作品,這些作品中的AI都可以定義為“強人工智能”,因為他們能夠像人類一樣去思考和推理,且具備知覺和自我意識。
但強人工智能在現(xiàn)實中的發(fā)展基本處于停滯狀態(tài),目前AI的研究和應(yīng)用基本都集中在“弱人工智能”領(lǐng)域,弱人工智能可以理解為機器看起來像是智能的,但并不會具備知覺和意識。
弱人工智能領(lǐng)域的AI實現(xiàn),可以分為兩種方式:
- 一種是通過對相關(guān)規(guī)則進行編程,讓機器能夠按照程序中存在的邏輯處理特定任務(wù),從結(jié)果來上看機器是智能的;
- 另一種是我們不給機器規(guī)則,取而代之,我們喂給機器大量的針對某一任務(wù)的數(shù)據(jù),讓機器自己去學(xué)習(xí),繼而挖掘出規(guī)律,從而具備完成某一任務(wù)的智能,這種方式,也就是我們今天的主角——機器學(xué)習(xí)。
不好理解?舉一個簡單的例子,如果我們需要讓機器具備識別狗的智能:
- 第一種方式意味著,我們需要將狗的特征(毛茸茸、四條腿、有尾巴…)告訴機器,機器將滿足這些規(guī)則的東西識別為狗;
- 第二種方式意味著,我們完全不告訴機器狗有什么特征,但我們喂給機器10萬張狗的圖片,機器就會自個兒從已有的圖片中學(xué)習(xí)到狗的特征,從而具備識別狗的智能。
此狗以一根火腿腸的身價友情出境…
AI可以說是跟機器學(xué)習(xí)緊密聯(lián)系在一起,那我們在來說下我們今天的主角——機器學(xué)習(xí)。
首先,機器學(xué)習(xí)從模型層次結(jié)構(gòu)的角度可以分為淺層學(xué)習(xí)和深度學(xué)習(xí),簡單介紹下兩者:
(1)淺層學(xué)習(xí)(Shallow Learning)
淺層學(xué)習(xí)與深度學(xué)習(xí)(Deep Learning)相對,它的模型層次較淺,通常沒有隱藏層或只有一層隱藏層。
淺層學(xué)習(xí)常見的算法有線性回歸、邏輯回歸、隨機森林、SVM、K-means、RBM、AutoEncoder、PCA、SOM等等。
隱藏層什么鬼?這些算法什么鬼?沒關(guān)系,能記上一兩個名字很好,暫時記不住也沒關(guān)系,我們以后會撿重要的來講。
淺層學(xué)習(xí)算法可以做一些預(yù)測、分類、聚類、降低數(shù)據(jù)維度、壓縮數(shù)據(jù)和商品推薦系統(tǒng)等工作。
(2)深度學(xué)習(xí)(Deep Learning)
深度學(xué)習(xí)的“深”是因為它通常會有較多的隱藏層,正是因為有那么多隱藏層存在,深度學(xué)習(xí)網(wǎng)絡(luò)才擁有表達更復(fù)雜函數(shù)的能力,也才能夠識別更復(fù)雜的特征,繼而完成更復(fù)雜更amazing的任務(wù)。
令很多童鞋驚嘆“AI無所不能,馬上就要改變世界、取代人類”的領(lǐng)域,基本都跟深度學(xué)習(xí)有關(guān)系。
目前深度學(xué)習(xí)的研究和應(yīng)用,主要集中在CNN和RNN;跟著我狠狠地把這些名詞記下來(至少縮寫要記下來哈),他們會成為后續(xù)文章介紹的重點。
CNN為Convolutional Neural Networks的縮寫,也就是卷積神經(jīng)網(wǎng)絡(luò),目前是計算機視覺、圖像分類領(lǐng)域最主要的算法,當(dāng)然也有人將它應(yīng)用于自然語言處理領(lǐng)域。
接下來舉些CNN應(yīng)用場景的例子,讓大家有個較直觀的印象:
1)前兩年大火的Prisma可以將機器學(xué)習(xí)名畫的風(fēng)格并遷移到新的圖片上,比如這張白發(fā)女咖啡杯圖:
2)深受妹紙喜愛各種美顏相機的濾鏡,也是會用到人臉檢測,用上之后感覺自己萌萌噠,額…這個好像是個可愛的男孩子…
3)交通監(jiān)控視頻識別來往車輛的車型,目前有些公司的產(chǎn)品還可以識別車牌號:
4) 商場監(jiān)控視頻能夠識別人臉,順便還能根據(jù)已有數(shù)據(jù)判斷這個人是否以前來過商場:
5)當(dāng)下最火的無人車中,無人車需要用計算視覺去觀察和理解這個世界:
RNN為Recurrent Neural NetWorks的縮寫,也就是遞歸神經(jīng)網(wǎng)絡(luò),基于RNN還衍生出了LSTM(Long-Short-Term-Memerory)和GRU(Gated Recurrent Unit)等一系列算法,這些算法擁有記住過去的能力,所以可以用來處理一些有時間序列屬性的數(shù)據(jù),在處理語言、文字等方面有獨到的優(yōu)勢。
RNN及其衍生算法可用于語音識別、機器翻譯、合成音樂等等,我們?nèi)匀粊砗唵闻e幾個的例子:
1) 以Siri、小娜、小冰、小度為代表的對話機器人,調(diào)戲Siri讓她bbox和唱歌講段子并不能充分體現(xiàn)你的無聊,下次你可以試試讓Siri和小娜互相對話:
2) 以谷歌翻譯為代表的機器翻譯,不管是文字翻譯還是語音翻譯,都把可以把人類翻譯虐成渣渣:
3) 老羅在錘子發(fā)布會上大吹特吹的能夠以極高準(zhǔn)確率和極快速度將語音轉(zhuǎn)化為文字的訊飛輸入法:
4)有粉絲等不及喬治·馬丁老爺子寫《冰與火之歌》第六部,就自己用LSTM算法學(xué)習(xí)了《冰與火之歌》的前五部后續(xù)寫了第六部,據(jù)說AI這部作品中還揭示了前幾部中埋了很久的懸念:
二、說AI簡單,因為AI本質(zhì)上都是一個函數(shù)
如果你堅持看到這里,你對AI的理解和認知大概率已經(jīng)擊敗了你朋友圈里50%經(jīng)常分享AI將改變世界取代人類的好友們。
此刻你已經(jīng)可以在聊天中用對方大概率聽不懂的CNN、RNN、LSTM等一眾名詞來彰顯你的逼格了。
但是,作為穩(wěn)重踏實、擁有內(nèi)涵、崇尚科學(xué)的新時代好青年的我們來說,這還遠遠不夠,我們總是希望能夠不動聲色、低調(diào)內(nèi)斂、用對方看似都懂實則不懂的東西去裝更高規(guī)格的逼。
接下來,請跟我學(xué)習(xí)下正確的裝的方式:XX,你知道么?其實,AI很簡單,因為AI本質(zhì)上都是一個函數(shù)。說的時候一定要有種云淡風(fēng)輕的狀態(tài),仿佛吃飯喝水那般自然。
看著對方有點迷離困惑的眼神,這個時候你要貼心去解釋一下,以彰顯你的善解人意,請再次跟我學(xué):
是這樣的,XX,這其實很好理解,AI其實就是我們喂給機器目前已有的數(shù)據(jù),機器就會從這些數(shù)據(jù)里去找出一個最能滿足(此處用“擬合”或可提升逼格)這些數(shù)據(jù)的函數(shù),當(dāng)有新的數(shù)據(jù)需要預(yù)測的時候,機器就可以通過這個函數(shù)去預(yù)測出這個新數(shù)據(jù)對應(yīng)的結(jié)果是什么。
說完之后,請微微抬頭看向遠方,感慨一下:萬物自有其道,人世間多少復(fù)雜的東西到末了還是要歸于純粹啊。
但是,裝逼有風(fēng)險,風(fēng)險請自行承擔(dān)…
其實可能你暫時也沒有太理解,不要慌,我們偷偷繼續(xù)理解一下。
對于一個具備某種智能的模型而言,一般具備以下要素:數(shù)據(jù)+算法+模型,請狠狠地記住這三個詞;記住了這三個詞,AI的本質(zhì)你也就搞清楚了。
這個時候我們再把高冷的貓也請出來,我們來用一個能夠區(qū)分貓和狗圖片的分類器模型來幫助理解這個問題:
“數(shù)據(jù)”就是我們需要準(zhǔn)備大量標(biāo)注過是“貓”還是“狗”的圖片,為什么要強調(diào)大量,因為只有數(shù)據(jù)量足夠大,模型才能夠?qū)W習(xí)到足夠多且準(zhǔn)確的區(qū)分貓和狗的特征,才能在區(qū)分貓狗這個任務(wù)上,表現(xiàn)出足夠高的準(zhǔn)確性;當(dāng)然數(shù)據(jù)量不大的情況下,我們也可以訓(xùn)練模型,不過在新數(shù)據(jù)集上預(yù)測出來的結(jié)果往往就會差很多。
“算法”指的是構(gòu)建模型時我們打算用淺層的網(wǎng)絡(luò)還是深層的,如果是深層的話我們要用多少層,每層有多少神經(jīng)元、功能是什么等等,也就是網(wǎng)絡(luò)架構(gòu)的設(shè)計。相當(dāng)于我們確定了我們的預(yù)測函數(shù)應(yīng)該大致結(jié)構(gòu)是什么樣的,我們用Y=f(W,X,b)來表示這一函數(shù),X是已有的用來訓(xùn)練的數(shù)據(jù)(貓和狗的圖片),Y是已有的圖片數(shù)據(jù)的標(biāo)簽(該圖片是貓還是狗),聰明的你會問:W和b呢?問得好,函數(shù)里的W(權(quán)重)和b(偏差)我們還不知道,這兩個參數(shù)是需要機器學(xué)習(xí)后自己找出來的,找的過程也就是模型訓(xùn)練的過程。
“模型”指的我們把數(shù)據(jù)帶入到算法中進行訓(xùn)練,機器就會去不斷地學(xué)習(xí),當(dāng)機器找到最優(yōu)W(權(quán)重)和b(偏差)后,我們就說這個模型是train成功了,這個時候我們的函數(shù)Y=f(W,X,b)就完全確定下來了。然后我們就可以在已有的數(shù)據(jù)集外給模型一張新的貓或狗的圖片,那模型就能通過函數(shù)Y=f(W,X,b)算出來這張圖的標(biāo)簽究竟是貓還是狗,這也就是所謂的模型的預(yù)測功能。
到這里,你應(yīng)該已經(jīng)能夠理解AI的本質(zhì)了。我們再簡單總結(jié)下:不管是最簡單的線性回歸模型、還是較復(fù)雜的擁有幾十個甚至上百個隱藏層的深度神經(jīng)網(wǎng)絡(luò)模型,本質(zhì)都是尋找一個能夠良好擬合目前已有數(shù)據(jù)的函數(shù)Y=f(W,X,b),并且我們希望這個函數(shù)在新的未知數(shù)據(jù)上也能夠表現(xiàn)良好。
三、AI算法模型的實現(xiàn)可以說是相當(dāng)easy啦
如果你堅持看到這里,那請你為自己打call!因為你對AI的理解和認知應(yīng)該大概率已經(jīng)擊敗了你朋友圈里70%經(jīng)常分享AI將改變世界取代人類的好友們。
接下來我們再往前走一步,簡單說一說實現(xiàn)一個AI模型可以多么簡單,看完后,相信你會信心爆棚的!
其實李杰克(也就是我啦)最早也是抱著異常悲壯各種被虐地心情走進AI的。學(xué)習(xí)大概分為三塊:
1. 學(xué)習(xí)AI第一語言python
這里我要為python瘋狂打call,因為python作為萬能膠水語言能做的事情實在太多,并且..它還異常容易上手。
我大概花了50個小時學(xué)習(xí)了python的基礎(chǔ)語法,然后就開始動手寫代碼去爬小說、爬網(wǎng)易云音樂的評論等等程序。
額…據(jù)說很多人第一個python的爬蟲是去爬不可描述的網(wǎng)站上那些沒穿衣服的可愛的女孩子們的相片…
總之,python是整個過程并不耗精力的環(huán)節(jié),但是剛開始背記語法確實是無聊無趣的,需要些許的小堅持,給你提個醒喲…
2. 學(xué)習(xí)傳統(tǒng)機器學(xué)習(xí)和深度學(xué)習(xí)相關(guān)算法
這塊算是花費我最多精力和時間的環(huán)節(jié),看了蠻多的視頻、書籍,還有網(wǎng)上的各種博文,還自己去補了高數(shù)線代概率論相關(guān)知識。
但結(jié)論是,如果你僅僅關(guān)注工程領(lǐng)域?qū)崿F(xiàn)的話,其實很多算法壓根沒有必要用那么數(shù)學(xué)的東西去推導(dǎo),換種方式你的理解和時間成本會下降很多。我也希望之后能夠用盡可能簡單有趣的方式跟大家分享和學(xué)習(xí)。
3. 算法和模型的實現(xiàn)
最開始我盡可能去理解和推導(dǎo)算法,然后用python代碼去實現(xiàn)算法再train模型,那個時候覺得啊算法還是要吃透啊,代碼能力也要很重要啊,不然你的模型都建不起來啊,小伙砸你要靜下心來慢慢搞啊。
后來,我開始接觸到深度學(xué)習(xí)大殺器——Google的深度學(xué)習(xí)框架Tensorflow,當(dāng)時我的心情是這樣的:
真的是一度有些蛋蛋的憂郁呢,我也算是鼓起了些勇氣、下了些決心、放棄了些機會開始轉(zhuǎn)型的,我還指著靠AI當(dāng)上CEO、迎娶白富美、走上人生巔峰呢。但是…
- 不是說好的有很高的數(shù)學(xué)門檻么?
- 不是說好的很高大上大家都搞不懂的么?
- 不是說好的需要深刻理解算法才能更好train出好model的么?
為什么算法模型損失函數(shù)優(yōu)化方法Tensorflow都內(nèi)置好了,而且只需要異常簡單的調(diào)用就好了?
再后來,我接觸到了Keras,一個基于Tensorflow構(gòu)建的深度學(xué)習(xí)框架,當(dāng)然也有基于Theano的版本(Theano什么鬼,暫時你也可以不用關(guān)心的)。
當(dāng)用Keras寫完第一個模型后我的心情真的是…
如果說Tensorflow是可以把一個模型代碼量大大減少的框架,那么Keras就是讓模型代碼量可以少到掉渣的框架。
剛才跟大家說了那么多貓狗分類器模型,現(xiàn)在就給大家看下這個分類器模型代碼在Keras框架可以少到什么程度!?。?/p>
那么寥寥幾行代碼就把一個擁有著卷積層、池化層和全連接層并且使用Adam這個較高級優(yōu)化方法的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)寫出來了,你自己感受下在Keras下實現(xiàn)深度學(xué)習(xí)算法模型有多簡單了吧…
有沒有為自己的驚奇發(fā)現(xiàn)感到開心!
寫在最后
“小白AI之路”第一篇文章已經(jīng)快到尾聲了,如果你堅持看到了這里,那大概率你對AI的理解和認知已經(jīng)擊敗了你朋友圈里90%經(jīng)常分享AI將改變世界取代人類的好友們。
接下來我們的目標(biāo)是從剩下的10%里往上爬,我也希望能夠通過更有趣、更直觀、更少數(shù)學(xué)的方式跟大家分享和學(xué)習(xí)AI相關(guān)知識。當(dāng)然我也還是一個AI世界的小學(xué)生,也還在努力地學(xué)習(xí)和奔跑。
如果大家覺得還算有那么一丟丟的收獲并且身邊也有朋友在關(guān)注和學(xué)習(xí)AI的話,請隨肆無忌憚隨意分享哈!
作者:李杰克 ,“AI產(chǎn)品經(jīng)理大本營”成員之一。
本文由人人都是產(chǎn)品經(jīng)理專欄作家?@黃釗?授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖由作者提供
現(xiàn)在訓(xùn)練模型都要用到gpu呀,就問你花錢了沒,在訓(xùn)練模型的硬件上
我也是一個想往AI方向發(fā)展的產(chǎn)品小白,講的很nice收獲不少
嗯,感覺文章配圖很重要,前面的種種AI文章看著昏昏欲睡,這個配圖超有喜感,不會困哦,看來我的python又要開啟第346次入門了
創(chuàng)業(yè)公司唯一的PM,涉及的工作覆蓋了設(shè)計(我畫原型,指導(dǎo)UI工作)、需求、測試,偶爾對接商務(wù)出去吹吹牛。自認為腦子比較活,學(xué)東西也快,基本公司內(nèi)我的工作都可以獨立完成,沒什么毛病(公司里呆了4年,沒有夸張成分)。
科班專業(yè)出身,不會編碼,但規(guī)則多少都懂,知道什么能做什么不能做,因為工作涉及測試,所以數(shù)據(jù)庫多少也懂。
但最近感覺遇到了瓶頸,也許是當(dāng)前行業(yè)內(nèi)PM的門檻確實不高,想轉(zhuǎn)型,相中了AIPM,研究了幾天,門檻是有,但我覺得這樣反而更好,能拉開差距,告別之前“人人都是產(chǎn)品經(jīng)理”的現(xiàn)狀。了解了幾天,興趣是有的,但始終沒下定決心,一是在現(xiàn)在公司呆了4年,不確定未來這里會不會轉(zhuǎn)型AI,二是看不清這個方向的前景,畢竟新事物,貿(mào)然轉(zhuǎn)型也有賭一把的風(fēng)險在里面。
嘛,觀望一下吧,人生真的很糾結(jié)。
那目前有作出決定嗎?
你好,可以加個你的微信交流一下嗎
看了那么多文章,就服你
通俗的文字+逗比的動圖,牛人
瘋狂打call,寫得通俗易懂,有干貨。
準(zhǔn)備開始搞python了 ??
這是第一篇,我不信
牛逼
文章總結(jié):本文主要從產(chǎn)品經(jīng)理轉(zhuǎn)型AI算法工程師角度出發(fā),敘述了作者的學(xué)習(xí)過程并且對學(xué)習(xí)方法做了很多總結(jié)。然后主要是推薦了python這個AI核心的編程語言及使用哪種AI框架較為容易實現(xiàn)模型。
總結(jié)能力優(yōu)秀
會寫代碼的PM啊,大牛
研究過卷積神經(jīng)網(wǎng)絡(luò)的都覺得很贊,樓主繼續(xù)加油,
酷到?jīng)]朋友~~~淺顯易懂的AI入門文章~ 期待樓主大大分享學(xué)習(xí)書單或者學(xué)習(xí)資源 ~ 持續(xù)關(guān)注 瘋狂打cal
所以樓主說的不會編程什么的都是騙人的吧
看完這篇文章我決定要去找博士在讀專攻語音方面機器學(xué)習(xí)的同學(xué)以及滴滴算法工程師的朋友去聊聊了。
你還說自己是學(xué)渣?…學(xué)習(xí)能力可以的!高中音樂+本科英語教育+研究生口譯知識背景+5年產(chǎn)品背景的人表示,看到算法和模型那里已經(jīng)在懷疑人生了
寫的很好,看完了,對AI很感興趣,希望接下來還能看到樓主關(guān)于這方面的文章,棒棒噠!撒花撒花。
大贊,期待繼續(xù),另外GIF圖有很多不可描述的佳作可以使用。 ?
高質(zhì)量的知識分享,值得贊賞!期待更多的內(nèi)容!
你已經(jīng)是大神了
贊一個先,淺顯易懂,讀起來真的不累,我竟然看懂了
話說,完全沒看內(nèi)容,竟然都看圖片了~~(⊙o⊙)…
AI本質(zhì)上都是一個函數(shù),謝謝大神的分享?。》浅S杏?。
會不會帶壞小朋友 ? 有什么資料推薦嗎
大神啊
好棒!微信公眾號看過一遍,現(xiàn)在再刷一遍~感謝作者,也hanniman大大的分享!
你已經(jīng)是大神了