如何能夠在你還不是專家的時候假裝成一個專家呢?
首先,你要說人話。要用外行能聽得懂的語言。很多真正的專家之所以沒有被廣大外行接受,就是因為他們說的話太過專業(yè),絕大部分的人都聽不懂。雖然大家也會認(rèn)可你的能力,但恐怕下次萬萬不敢再找這樣的專家交流,因為完全不知所云,會對聽眾的自信心造成一萬點的暴擊。當(dāng)然了,項目的實際交付階段還是要這樣的真專家出馬的,不然就只能用ppt糊弄人了。
其次,要體現(xiàn)實踐的經(jīng)驗。不管你是否真的有實踐經(jīng)驗,一定要在交流中把一些相對實在的、接地氣的、在實際交付階段能夠發(fā)揮作用的point甩出來,這樣才能有效加持你的專家身份。眾所周知,現(xiàn)在的客戶,尤其是大廠的客戶見多識廣,越來越不好打(hu)動(you),那些只會規(guī)劃而沒有實操經(jīng)驗的顧問生存空間越來越小,極有可能第一次交流就被客戶挑落馬下。因此,一定要記下幾句能夠體現(xiàn)實操經(jīng)驗的箴言作為防彈衣。
言歸正傳,下面就為大家提供一些這樣的防護工具,希望有所幫助。
最近參加了一次機器學(xué)習(xí)的培訓(xùn)課程,該培訓(xùn)的主題是為有一定基礎(chǔ)的顧問提供關(guān)于開展機器學(xué)習(xí)項目的進階知識和要點。幾個小時的課程聽下來,確實受益匪淺。課程主講人是有著豐富經(jīng)驗的一線專家,他深入淺出地講述要點,不夾雜過多的理論知識,非常方便廣大咨(da)詢(hu)師(you)現(xiàn)買現(xiàn)賣。
這樣的課程簡直就是咨詢、售前技術(shù)支持從業(yè)者的最愛——說的都是人人都能聽懂的通俗語言,并且乍一聽起來,還挺有道理,充滿著實操過程中的寶貴經(jīng)驗總結(jié)。
下面就將一些要點摘錄如下,方便朋友們平時打單、交付、吹牛、閑扯時裝扮成AI專家之用。
如果你同時關(guān)心多項指標(biāo),你可以將其中的一項指標(biāo)設(shè)為優(yōu)化指標(biāo),使其表現(xiàn)盡可能的好,將另外的一項或多項設(shè)為滿足指標(biāo),確保其表現(xiàn)滿足要求即可。
對于一個模型來說,可能有很多指標(biāo)需要滿足,但是很難都兼顧到,因此可以將所有的指標(biāo)分為兩類,一類叫做優(yōu)化指標(biāo),另一類叫做滿足指標(biāo)。對于最關(guān)心的優(yōu)化指標(biāo),要盡可能地好,而滿足指標(biāo),只要滿足其基本的閾值要求就可以了,以此來降低模型調(diào)整的難度。
傳統(tǒng)做法是70/30分,但是現(xiàn)在往往數(shù)據(jù)量非常大,例如100萬條,那么可能98萬條數(shù)據(jù)做訓(xùn)練集,驗證集和測試集各1萬條。
現(xiàn)在的趨勢是,使用更多數(shù)據(jù)作為訓(xùn)練集,使用較少的數(shù)據(jù)作為驗證集和測試集,還是不建議不使用測試集,也就是說測試集的存在讓人更安心
平時我們做項目,尤其是工業(yè)現(xiàn)場的項目極有可能遇到的情況是數(shù)據(jù)量不足,剛好與上述情況相反。因此,為了充分利用數(shù)據(jù),經(jīng)常采用S折交叉驗證的方式,也就是隨機將已有的數(shù)據(jù)分成S個互不相交的大小相同的子集,然后利用S-1個子集的數(shù)據(jù)作為訓(xùn)練集,利用其余的一個子集作為測試集。將可能的S種選擇重復(fù)進行,選擇出S次測評中平均測試誤差最小的模型。
(很多場景中)可以認(rèn)為人類的表現(xiàn)水平就是極限了,即貝葉斯誤差。
通過貝葉斯誤差就能夠幫助數(shù)據(jù)科學(xué)家判斷下一步的優(yōu)化方向。比如,模型的錯誤率已經(jīng)接近了貝葉斯誤差,那么就應(yīng)該嘗試去減少方差,即縮小模型在訓(xùn)練集和測試集上的表現(xiàn)差異。
對于一個誤差不可能為0的問題,有一個好的貝葉斯誤差估計,可以很好的幫助你評估可避免的偏差和方差,從而更利于做決定究竟是專注于偏差降低技術(shù) 還是方差降低技術(shù)
這方面可以作為一個參考,但是對于人類水平的表現(xiàn),其指標(biāo)到底是多少,這個要如何才能準(zhǔn)確獲得呢。查文獻?做實驗?可能這個建議只能作為某些場景應(yīng)用的一個參考了。
驗證集和測試集應(yīng)該聚焦在你所關(guān)心的領(lǐng)域,而訓(xùn)練集有一些不一致的分布,倒是不那么重要。
可以將大量其他分布的數(shù)據(jù)全部加入到訓(xùn)練集中,而將自己所關(guān)心的領(lǐng)域的數(shù)據(jù)(可能相對很少量的數(shù)據(jù))分配到訓(xùn)練集、驗證集、測試集中,或者都放在驗證集和測試集中。
因為驗證集和測試集的數(shù)據(jù)一定要聚焦在我們所關(guān)心的領(lǐng)域,與其保持同分布,這樣對于模型的選擇和評估才是有意義的
有的時候,我們能夠用于訓(xùn)練的數(shù)據(jù)非常少,那么不妨充分利用一些相關(guān)的數(shù)據(jù),雖然分布不同,但是放在訓(xùn)練集中也未嘗不可。
注:所謂開發(fā)集,就是驗證集的另一種叫法。
當(dāng)訓(xùn)練集與開發(fā)集、測試集不同分布時,為了確定方差是由數(shù)據(jù)不同分布造成的,還是由過擬合造成的,這是就需要引入訓(xùn)練-開發(fā)集。
訓(xùn)練-開發(fā)集是從原有的訓(xùn)練集中拿出一小塊數(shù)據(jù),這樣其分布與訓(xùn)練集一致。
在訓(xùn)練集進行訓(xùn)練后,在訓(xùn)練-開發(fā)集進行驗證,對比其精度的變化,如果變化大,說明模型的泛化有問題,否則,說明先前的方差是由數(shù)據(jù)的不同分布(訓(xùn)練集、開發(fā)集、測試集的數(shù)據(jù)不同分布)造成的。
這一條經(jīng)驗同樣是應(yīng)對上文中提到的“訓(xùn)練集、驗證集和測試集不同分布”而來的。
深度學(xué)習(xí)中最有力的方法之一,是有時你可以把在一個任務(wù)中神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的東西,應(yīng)用到另一個任務(wù)中去。比如,你可以讓神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)去識別物體,比如貓,然后用學(xué)習(xí)到的(一部分)知識來幫助你更好地識別X射線的結(jié)果。這就是所謂的遷移學(xué)習(xí)。
之所以這樣的過程是有用的,是因為從大規(guī)模的圖像識別數(shù)據(jù)集中,學(xué)習(xí)到的邊界檢測,曲線檢測,明暗對象檢測等低層次的信息,或許能夠幫助你的學(xué)習(xí)算法更好地去進行放射掃描結(jié)果的診斷。
所以當(dāng)神經(jīng)網(wǎng)絡(luò)學(xué)會了圖像識別,意味著它可能學(xué)習(xí)到了以下信息:關(guān)于不同圖片的點,線,曲面等等信息,在不同圖片中看起來是什么樣子的?;蛟S關(guān)于一個物體對象的很小的細(xì)節(jié),都能夠幫助你在放射信息診斷的神經(jīng)網(wǎng)絡(luò)中,學(xué)習(xí)得更快一些或者減少學(xué)習(xí)需要的數(shù)據(jù)。
那么遷移學(xué)習(xí)在什么時候有用呢?當(dāng)你在你的被遷移的模型中擁有大量的數(shù)據(jù),而你在你需要解決的問題上擁有相對較少的數(shù)據(jù)時,遷移學(xué)習(xí)是適用的。
不適用的場景如下:如果目標(biāo)任務(wù)有更多的數(shù)據(jù),那么就直接針對目標(biāo)任務(wù)建模就好了,不需要再利用一個數(shù)據(jù)相對少的任務(wù)成果了
需要明確的是,遷移學(xué)習(xí)絕對不是咱們?nèi)祟惖乃^的“觸類旁通”的推理與抽象能力。
在不同輸出之間,神經(jīng)網(wǎng)絡(luò)前面的特征可以共享,那么你會發(fā)現(xiàn),訓(xùn)練一個神經(jīng)網(wǎng)絡(luò)做4件事的結(jié)果比 訓(xùn)練4個完全獨立的神經(jīng)網(wǎng)絡(luò)的結(jié)果要好。
在多任務(wù)學(xué)習(xí)中,即使一些圖像只標(biāo)記某些對象也能正常工作。
多任務(wù)學(xué)習(xí)的使用條件包括:1、所訓(xùn)練一系列的任務(wù)可以共享一些低層次的特征;2、針對每個任務(wù)的數(shù)據(jù)也非常相似;3、在所有的任務(wù)之上訓(xùn)練一個足夠大的神經(jīng)網(wǎng)絡(luò),這樣效果比較好。
實際上多任務(wù)學(xué)習(xí)要比遷移學(xué)習(xí)用得少得多。
我看到很多遷移學(xué)習(xí)的應(yīng)用,你想通過一個小數(shù)量的數(shù)據(jù)來解決問題。你找一個有大量數(shù)據(jù)的相關(guān)問題來學(xué)習(xí),然后轉(zhuǎn)移到這個新的問題。多任務(wù)學(xué)習(xí)用的更少,一般在你有大量任務(wù)需要完成,你可以同時訓(xùn)練所有這些任務(wù)。
概念:傳統(tǒng)的方式是將輸入到輸出分成若干個階段來分別處理,而端到端就是用一個神經(jīng)網(wǎng)絡(luò)處理所有的階段。而如果你的數(shù)據(jù)量比較小的話,那么通常傳統(tǒng)的管道方式(分階段)比較好。
與傳統(tǒng)的分階段的方法相比,這種方式需要更多的數(shù)據(jù)。
如果你有中等量的數(shù)據(jù),可以采用折衷的方法:例如,輸入音頻,繞過這些特征,只學(xué)習(xí)輸出神經(jīng)網(wǎng)絡(luò)的音素,然后繼續(xù)其它階段。
局限:如果你有足夠的數(shù)據(jù), 也許端到端的方案會更加好,如果沒有足夠的數(shù)據(jù),目前來說在實際應(yīng)用中這不是最好的方法。但是,也可以嘗試將一個問題分解成兩個問題,如果這兩個問題都是有足夠訓(xùn)練數(shù)據(jù)的。
總結(jié)一下:具體用哪種方式(分階段還是端到端)由數(shù)據(jù)情況決定,如果有很多端到端的數(shù)據(jù),那么就用端到端的方法,否則,需要把整個問題分解成若干個階段,而每個階段的問題都有足夠數(shù)量的數(shù)據(jù)來訓(xùn)練。端到端深度學(xué)習(xí)能夠非常有效,并且簡化系統(tǒng),但是它不是萬能的,并不總是那么有效
端到端深度學(xué)習(xí)的好處:有數(shù)據(jù)來決定,只要有足夠的數(shù)據(jù),就能夠通過訓(xùn)練一個足夠大的神經(jīng)網(wǎng)絡(luò),進行識別。而且會比機器學(xué)習(xí)效果更好。也就是說,讓學(xué)習(xí)算法直接去學(xué)習(xí)從X->Y的效果,可能比認(rèn)為增加一些中間步驟要好很多
所需的人類動手設(shè)計的組件變的更少了 所以這可以簡化你的設(shè)計工作流程,意味著你不需要花大量的時間去動手設(shè)計特征,手工設(shè)計這些中間表示形式。
缺點:端到端學(xué)習(xí)需要大量的數(shù)據(jù),所以為了使用機器學(xué)習(xí)直接得出X到Y(jié)的映射 你或許需要大量的(X,Y)數(shù)據(jù)。并且它排除了一些具有潛在用途的手工設(shè)計組件,所以機器學(xué)習(xí)研究人員往往會輕視手工設(shè)計的組件。
決定因素:你正在嘗試去決定是否要使用端到端的深度學(xué)習(xí),關(guān)鍵的問題是,你是否有足夠的數(shù)據(jù)去學(xué)習(xí)出具有能夠映射X到Y(jié)所需復(fù)雜度的方程。
總結(jié)一下:算法的兩個主要知識來源一個是數(shù)據(jù),另一個是人工設(shè)計的東西。如果有足夠多的數(shù)據(jù),那么手工設(shè)計的組件就無所謂了。但是,如果沒有足夠多的數(shù)據(jù),那么就需要手工設(shè)計了。一個精心人工設(shè)計的系統(tǒng)實際上可以讓人們向算法中注入人類關(guān)于這個問題的知識。
什么是目前人工智能做不了的——推理和抽象,這也正是人工智能與人類的差距。
思考這樣的問題,想要學(xué)習(xí)讓火箭登陸月球的正確的發(fā)射參數(shù),如果使用深度網(wǎng)絡(luò)來完成這個任務(wù),并用監(jiān)督學(xué)習(xí)或強化學(xué)習(xí)來訓(xùn)練網(wǎng)絡(luò),那么我們需要輸入上千次、甚至上百萬次發(fā)射時延,也就是說,我們需要為它提供輸入空間的密集采樣,以便模型能夠?qū)W到從輸入空間到輸出空間的可靠映射。相比之下,我們?nèi)祟惪梢岳贸橄竽芰μ岢鑫锢砟P停ɑ鸺茖W(xué)),并且只用一次或幾次試驗就能得到讓火箭登陸月球的精確解決方案。
同樣,如果你開發(fā)一個能夠控制人體的深度網(wǎng)絡(luò),并且希望它學(xué)會在城市里安全行走,不會被汽車撞上,那么這個網(wǎng)絡(luò)不得不在各個場景中死亡數(shù)千次,才能推斷出汽車是危險的,并作出適當(dāng)?shù)亩惚苄袨?。將這個網(wǎng)絡(luò)放到一個新城市,它不得不重新學(xué)習(xí)已知的大部分知識。但人類不要死亡就可以學(xué)會安全行為,這也要歸功于我們對假想情景進行抽象建模的行為。
之前確實遇到過客戶在這方面的挑戰(zhàn),他說,我們針對設(shè)備的某一類故障做預(yù)測分析的方式不能算作智能化,他認(rèn)為真正的智能是,你讓模型學(xué)習(xí)A故障發(fā)生的歷史數(shù)據(jù),最后模型連B故障的發(fā)生也能預(yù)測,這才算是智能化。
我當(dāng)時就用上面這段話回應(yīng)了客戶,雖然他仍然將信將疑,但是畢竟咱們也算是有理有據(jù)。
并且我也委婉的表示,您老還是應(yīng)該加強學(xué)習(xí),不能沉浸在自己個兒的臆想當(dāng)中。試想,一個骨外科的醫(yī)生即使從業(yè)經(jīng)驗再豐富,為再多的病人做骨科的手術(shù),也很難成為消化內(nèi)科的專家。人類尚且如此,那么當(dāng)前的人工智能技術(shù)就更無法實現(xiàn)了。
最后還是說一點正能量的東西吧。
希望大家好好學(xué)習(xí)、努力工作,做一個真正的專家,一個能給客戶帶來價值的專家。“裝專家”完全是一種奢望,你可能忽悠人家一時,但是不可能一直不露餡。即使運氣好,簽下一單,交付也會出現(xiàn)問題,到時不止是公司的商譽受影響,作為顧問,個人的信譽也要大打折扣。如果因為自己的一個忽悠成功而沾沾自喜的話,那就太可悲了。因此,奉勸大家謹(jǐn)慎。
踏踏實實地每天多看點書、多敲幾行代碼、多實踐、多總結(jié)才是真正的專家之路。
聯(lián)系客服