當前位置:首頁 » 操作系統 » 遷移學習演算法

遷移學習演算法

發布時間: 2022-06-16 22:43:17

Ⅰ 遷移學習與fine-tuning有什麼區別

遷移學習,我覺得更像一種思想吧,不是演算法,當然這只是我的個人看法,還希望題主能在這里找到滿意的回答。

Ⅱ 機器學習的研究內容有哪些

近年來,有很多新型的機器學習技術受到人們的廣泛關注,也在解決實際問題中,提供了有效的方案。這里,我們簡單介紹一下深度學習、強化學習、對抗學習、對偶學習、遷移學習、分布式學習、以及元學習,讓大家可以明確機器學習的方向都有哪些,這樣再選擇自己感興趣或擅長的研究方向,我覺得這是非常理智的做法。
▌深度學習
不同於傳統的機器學習方法,深度學習是一類端到端的學習方法。基於多層的非線性神經網路,深度學習可以從原始數據直接學習,自動抽取特徵並逐層抽象,最終實現回歸、分類或排序等目的。在深度學習的驅動下,人們在計算機視覺、語音處理、自然語言方面相繼取得了突破,達到或甚至超過了人類水平。深度學習的成功主要歸功於三大因素——大數據、大模型、大計算,因此這三個方向都是當前研究的熱點。
在過去的幾十年中,很多不同的深度神經網路結構被提出,比如,卷積神經網路,被廣泛應用於計算機視覺,如圖像分類、物體識別、圖像分割、視頻分析等等;循環神經網路,能夠對變長的序列數據進行處理,被廣泛應用於自然語言理解、語音處理等;編解碼模型(Encoder-Decoder)是深度學習中常見的一個框架,多用於圖像或序列生成,例如比較熱的機器翻譯、文本摘要、圖像描述(image captioning)問題。
▌強化學習
2016 年 3 月,DeepMInd 設計的基於深度卷積神經網路和強化學習的 AlphaGo 以 4:1 擊敗頂尖職業棋手李世乭,成為第一個不藉助讓子而擊敗圍棋職業九段棋手的電腦程序。此次比賽成為AI歷史上里程碑式的事件,也讓強化學習成為機器學習領域的一個熱點研究方向。
強化學習是機器學習的一個子領域,研究智能體如何在動態系統或者環境中以「試錯」的方式進行學習,通過與系統或環境進行交互獲得的獎賞指導行為,從而最大化累積獎賞或長期回報。由於其一般性,該問題在許多其他學科中也進行了研究,例如博弈論、控制理論、運籌學、資訊理論、多智能體系統、群體智能、統計學和遺傳演算法。
▌遷移學習
遷移學習的目的是把為其他任務(稱其為源任務)訓練好的模型遷移到新的學習任務(稱其為目標任務)中,幫助新任務解決訓練樣本不足等技術挑戰。之所以可以這樣做,是因為很多學習任務之間存在相關性(比如都是圖像識別任務),因此從一個任務中總結出來的知識(模型參數)可以對解決另外一個任務有所幫助。遷移學習目前是機器學習的研究熱點之一,還有很大的發展空間。
▌對抗學習
傳統的深度生成模型存在一個潛在問題:由於最大化概率似然,模型更傾向於生成偏極端的數據,影響生成的效果。對抗學習利用對抗性行為(比如產生對抗樣本或者對抗模型)來加強模型的穩定性,提高數據生成的效果。近些年來,利用對抗學習思想進行無監督學習的生成對抗網路(GAN)被成功應用到圖像、語音、文本等領域,成為了無監督學習的重要技術之一。
▌對偶學習
對偶學習是一種新的學習範式,其基本思想是利用機器學習任務之間的對偶屬性獲得更有效的反饋/正則化,引導、加強學習過程,從而降低深度學習對大規模人工標注數據的依賴。對偶學習的思想已經被應用到機器學習很多問題里,包括機器翻譯、圖像風格轉換、問題回答和生成、圖像分類和生成、文本分類和生成、圖像轉文本和文本轉圖像等等。
▌分布式學習
分布式技術是機器學習技術的加速器,能夠顯著提高機器學習的訓練效率、進一步增大其應用范圍。當「分布式」遇到「機器學習」,不應只局限在對串列演算法進行多機並行以及底層實現方面的技術,我們更應該基於對機器學習的完整理解,將分布式和機器學習更加緊密地結合在一起。
▌元學習
元學習(meta learning)是近年來機器學習領域的一個新的研究熱點。字面上來理解,元學習就是學會如何學習,重點是對學習本身的理解和適應,而不僅僅是完成某個特定的學習任務。也就是說,一個元學習器需要能夠評估自己的學習方法,並根據特定的學習任務對自己的學習方法進行調整。

Ⅲ 究竟什麼是機器學習 深度學習和人工智慧



目前,業界有一種錯誤的較為普遍的意識,即「深度學習最終可能會淘汰掉其他所有機器學習演算法」。這種意識的產生主要是因為,當下深度學習在計算機視覺、自然語言處理領域的應用遠超過傳統的機器學習方法,並且媒體對深度學習進行了大肆誇大的報道。

深度學習,作為目前最熱的機器學習方法,但並不意味著是機器學習的終點。起碼目前存在以下問題:

1. 深度學習模型需要大量的訓練數據,才能展現出神奇的效果,但現實生活中往往會遇到小樣本問題,此時深度學習方法無法入手,傳統的機器學習方法就可以處理;

2. 有些領域,採用傳統的簡單的機器學習方法,可以很好地解決了,沒必要非得用復雜的深度學習方法;

3. 深度學習的思想,來源於人腦的啟發,但絕不是人腦的模擬,舉個例子,給一個三四歲的小孩看一輛自行車之後,再見到哪怕外觀完全不同的自行車,小孩也十有八九能做出那是一輛自行車的判斷,也就是說,人類的學習過程往往不需要大規模的訓練數據,而現在的深度學習方法顯然不是對人腦的模擬。

深度學習大佬 Yoshua Bengio 在 Quora 上回答一個類似的問題時,有一段話講得特別好,這里引用一下,以回答上述問題:

Science is NOT a battle, it is a collaboration. We all build on each other's ideas. Science is an act of love, not war. Love for the beauty in the world that surrounds us and love to share and build something together. That makes science a highly satisfying activity, emotionally speaking!

這段話的大致意思是,科學不是戰爭而是合作,任何學科的發展從來都不是一條路走到黑,而是同行之間互相學習、互相借鑒、博採眾長、相得益彰,站在巨人的肩膀上不斷前行。機器學習的研究也是一樣,你死我活那是邪教,開放包容才是正道。

結合機器學習2000年以來的發展,再來看Bengio的這段話,深有感觸。進入21世紀,縱觀機器學習發展歷程,研究熱點可以簡單總結為2000-2006年的流形學習、2006年-2011年的稀疏學習、2012年至今的深度學習。未來哪種機器學習演算法會成為熱點呢?深度學習三大巨頭之一吳恩達曾表示,「在繼深度學習之後,遷移學習將引領下一波機器學習技術」。但最終機器學習的下一個熱點是什麼,誰又能說得准呢。

編輯於 2017-12-27

29918 條評論

分享

收藏感謝收起

阿里雲雲棲社區

用戶標識1

已認證的官方帳號

39 人贊同了該回答

人工智慧並不是一個新的術語,它已經有幾十年的歷史了,大約從80年代初開始,計算機科學家們開始設計可以學習和模仿人類行為的演算法。

在演算法方面,最重要的演算法是神經網路,由於過擬合而不是很成功(模型太強大,但數據不足)。盡管如此,在一些更具體的任務中,使用數據來適應功能的想法已經取得了顯著的成功,並且這也構成了當今機器學習的基礎。

在模仿方面,人工智慧專注於圖像識別,語音識別和自然語言處理。人工智慧專家們花費了大量的時間來創建諸如邊緣檢測,顏色配置文件,N-gram,語法樹等。不過,這些進步還不足以達到我們的需求。

傳統的機器學習:

機器學習(ML)技術在預測中發揮了重要的作用,ML經歷了多代的發展,形成了具有豐富的模型結構,例如:

1.線性回歸。

2.邏輯回歸。

3.決策樹。

4.支持向量機。

5.貝葉斯模型。

6.正則化模型。

7.模型集成(ensemble)。

8.神經網路。

這些預測模型中的每一個都基於特定的演算法結構,參數都是可調的。訓練預測模型涉及以下步驟:

1. 選擇一個模型結構(例如邏輯回歸,隨機森林等)。

2. 用訓練數據(輸入和輸出)輸入模型。

3. 學習演算法將輸出最優模型(即具有使訓練錯誤最小化的特定參數的模型)。

每種模式都有自己的特點,在一些任務中表現不錯,但在其他方面表現不佳。但總的來說,我們可以把它們分成低功耗(簡單)模型和高功耗(復雜)模型。選擇不同的模型是一個非常棘手的問題。

由於以下原因,使用低功率/簡單模型是優於使用高功率/復雜模型:

  • 在我們擁有強大的處理能力之前,訓練高功率模型將需要很長的時間。

  • 在我們擁有大量數據之前,訓練高功率模型會導致過度擬合問題(因為高功率模型具有豐富的參數並且可以適應廣泛的數據形狀,所以我們最終可能訓練一個適合於特定到當前的訓練數據,而不是推廣到足以對未來的數據做好預測)。

  • 然而,選擇一個低功率的模型會遇到所謂的「欠擬合」的問題,模型結構太簡單,如果它復雜,就無法適應訓練數據。(想像一下,基礎數據有一個二次方關系:y = 5 * x ^ 2;你無法適應線性回歸:y = a * x + b,不管我們選擇什麼樣的a和b。

    為了緩解「不適合的問題」,數據科學家通常會運用他們的「領域知識」來提出「輸入特徵」,這與輸出關系更為直接。(例如,返回二次關系y = 5 * square(x),如果創建了一個特徵z = x ^ 2,則可以擬合線性回歸:y = a * z + b,通過選擇a = 5和b = 0)。

    機器學習的主要障礙是特徵工程這個步驟,這需要領域專家在進入訓練過程之前就要找到非常重要的特徵。特徵工程步驟是要靠手動完成的,而且需要大量領域專業知識,因此它成為當今大多數機器學習任務的主要瓶頸。

    換句話說,如果我們沒有足夠的處理能力和足夠的數據,那麼我們必須使用低功耗/更簡單的模型,這就需要我們花費大量的時間和精力來創建合適的輸入特徵。這是大多數數據科學家今天花時間去做的地方。

    神經網路的回歸:

    在大數據時代,雲計算和大規模並行處理基礎架構的共同發展,使得機器處理能力在二十一世紀初得到了極大的提升。我們不再局限於低功耗/簡單的模型。例如,當今最流行的兩種主流機器學習模型是隨機森林和梯度提升樹。盡管如此,兩者都非常強大,並且提供了非線性模型擬合的訓練數據,但數據科學家仍然需要仔細地創建特徵以獲得良好的性能。

    與此同時,計算機科學家重新使用神經網路的許多層來完成這些人類模仿的任務。這給DNN(深度神經網路)帶來了新的生機,並在圖像分類和語音識別任務方面提供了重大突破。DNN的主要區別在於,你可以將原始信號(例如RGB像素值)直接輸入DNN,而不需要創建任何域特定的輸入功能。通過多層神經元(這就是為什麼它被稱為「深度」神經網路),DNN可以「自動」通過每一層產生適當的特徵,最後提供一個非常好的預測。這極大地消除了尋找「特徵工程」的麻煩,這是數據科學家們最喜歡看到的。

    DNN也演變成許多不同的網路拓撲結構,所以有CNN(卷積神經網路),RNN(遞歸神經網路),LSTM(長期短期記憶),GAN(生成敵對網路),轉移學習,注意模型(attention model)所有的這些被統稱為深度學習(Deep Learning),它正在引起整個機器學習界的關注。

    強化學習:

    另一個關鍵組成部分是關於如何模仿一個人(或動物)的學習,設想感知/行為/獎勵循環的非常自然的動物行為。一個人或者一個動物首先會通過感知他或者她所處的狀態來了解環境。在此基礎上,他或者她會選擇一個「動作」,將他或者她帶到另一個「狀態」。那麼他或她將獲得「獎勵」,循環重復,直到他或她消失。這種學習方式(稱為強化學習)與傳統監督機器學習的曲線擬合方法有很大不同。尤其是,強化學習學習得非常快,因為每一個新的反饋(例如執行一個行動並獲得獎勵)都被立即發送到影響隨後的決定。

    強化學習也提供了預測和優化的平滑整合,因為它在採取不同的行動時保持當前狀態的信念和可能的轉換概率,然後做出決定哪些行動可以導致最佳結果。

    深度學習+強化學習= AI

    與經典的ML技術相比,DL提供了一個更強大的預測模型,通常可以產生良好的預測結果。與經典優化模型相比,強化學習提供了更快的學習機制,並且更適應環境的變化。

    機器學習 vs 深度學習

    在深度探討machine learning和data science的聯系之前,這里簡要地討論一下machine learning 和deep learning。machine learning是一套演算法,來訓練數據集做預測或者採取行動以使得系統最優化。舉例來說,supervised classification algorithms被用來根據歷史數據將想要貸款的客戶分成預期好的和預期差的(good or bad prospects)。對於給定的任務(比如監督聚類),需要的技術多種多樣:naive Bayes、SVM、neural nets、ensembles、association rules、decision trees、logistic regression,或者是很多技術的組合。所有這些都是數據科學的子集。當這些演算法自動化後,比如無人駕駛飛機或者無人駕駛汽車,這就叫AI了,或者說的具體一點,deep learning。如果採集的數據來自感測器並且通過互聯網傳播,那麼這就是機器學習或數據科學或深度學習應用於物聯網了。

    有些人對深度學習有不同的定義,他們認為深度學習是更深層次的神經網路(一種機器學習的技術)。AI(Artificial Intelligence)是創建於20世紀60年代的計算機科學的一個子領域,是關於解決那些對人類來講非常容易但是對計算機而言很難的任務。值得一提的是,所謂的strong AI可能可以做所有人類可以做的事情(可能除了純粹的物理問題)。這是相當廣泛的,包括各種各樣的事情,比如做計劃,在世界上到處溜達,識別物體和聲音,說話,翻譯,社交或者商業交易,還有創造性工作(比如寫詩畫畫)等等。

    NLP(Natural language processing)只是AI要處理的語言部分,尤其是寫。

    Machine learning是這樣的一種情況:給出一些可以被以離散形式描述的AI問題(比如從一系列動作中選出對的那個),然後給定一堆外部世界的信息,在不需要程序員手動寫程序的情況下選出那個「正確的」行為。通常情況需要藉助外界的一些過程來判斷這個動作對不對。在數學上,這就是函數:你給一些輸入,然後你想要他處理一下得到正確的輸出,所以整個問題就簡化為用一些自動的方式建立這種數學函數模型。和AI區分一下:如果我寫了一段特別機智的程序有著人類的行為,那這就可以是AI,但是除非它的參量都是自動從數據中學會的,否則就不是機器學習。

    Deep learning是當下非常流行的機器學習的一種。它包含一種特殊的數學模型,可以想成是一種特定類型的簡單塊的組合(或者說是塊的功能的組合),這些塊可以進行調整來更好的預測最終結果。

Ⅳ 如何在遷移學習網路中修改某層

防止負遷移

對於遷移學習而言,選擇數據的最主要的動機是為了防止負遷移,如果訓練數據源的信息不僅沒有用,反而會對目標域上的工作適得其反,便會產生負遷移。負遷移的典型例子是情緒分析:如果我們訓練一個模型來預測圖書評論的情緒分析,我們可以期待模型在書評這個域做的很好。然而,如果將這個模型遷移到電子產品的評論中,結果就是負遷移,我們模型學習到的術語與書籍情緒有關,而對於電子產品的評論則意義不大。

在從一個源到一個目標域的適應性的經典場景中, 我們唯一可以做的是創建一個能夠解開這些從意義上轉變的模型。然而,在兩個非常不同的域之間進行適應仍然會頻繁地失敗或者模型表現非常差勁。

在現實世界中,我們通常可以訪問多個數據源。在這種情況下,我們可以做的一件事是對我們的目標域最有幫助的數據進行訓練。 然而,我們尚不清楚如何確定源數據對目標域的有用性的最佳方法。 現有工作通常依賴於源和目標域之間的相似度度量。在這種情況下,一件我們可以做的事情就是對我們的目標域最有幫助的數據進行訓練。然而,確定源數據對目標域的有用性的最佳方法是霧里看花。 現有工作通常依賴於源和目標域之間的相似性度量。

Ⅳ 如何進行促進學生對小學數學學習的遷移應用

一、 創設情境激發遷移意識
一種學習對另一種學習的影響,就叫學習的遷移。從認知心理學的觀點看,無論在接受學習新知識或解決新問題的過程中,凡是有已形成的相關的認知結構就會產生知識、乃至方法的遷移 。而這些需要老師有意識地加以引導才會實現 。教學北師大版四年級下冊的《小數的意義》一課時,我先創設一個生活情境:有一天淘氣跟著媽媽到菜市場買菜,他發現一斤肉9.90元,一斤白菜2.20元,一斤地瓜2.35元。(投放到大屏幕上) 指名說說這些價格是幾元幾角幾分,學生很快就能說出答案,因為這是從學生的生活經驗中遷移過來的。接著讓學生說說淘氣媽媽買了這三樣東西一共需要多少錢,為什麼這樣算?學生也基本上能比較快地算出,也懂得相同數位進行相加減的道理,因為這是從學生的知識經驗中遷移過來的。最後讓學生說說每個數裡面的數位名稱,學生一時語塞,老師順勢引導,這是本節課要學的內容,相信同學們聯系以前學過的圓角分的知識會很快學會的。出示題目:1元=( )角 ,1元=( )分 1角=( )元 1分=( )元。本題由易及難,引導學生發現數的規律,新知與舊知是緊密聯系在一起的,從而輕而易舉地理解一角就是十分之一元,也就是0.1元,一分是一百分之一元,就是0.01元。最後回到前面的情境中,9.90元第一個9表示9元,是整數部分,第二個9表示的是9角,在小數點右邊第一位,是十分之九元,0.9元,這一位叫做十分位,表示把一個數平均分成十分,取其中的幾份,就是零點幾,接著讓學生說說2.35元每一個數位名稱及數位上數字表示的意義,然後追問小數點右邊第三位是什麼位,表示什麼,學生很快就能說出答案。這樣再讓學生打開書本自學小數數位順序表,教學效果達到事半功倍的作用。一學年來我從情境創設中不斷讓學生體會學習遷移的重要性,激發他們主動尋找遷移的知識點和生長點。
二、引導自主學習培養遷移能力
小學數學新的課程標准要求教師切實轉變教學觀念,使數學課堂成為學生自主學習的樂園,讓學生主動參與到數學活動中,自己去獲取、鞏固和深化知識,扎扎實實激發學生創新意識,培養學生創新思維和創新能力,而遷移能力就是一種創新能力。
教學中以導為主,以講為輔
著名心理學家皮亞傑說過:兒童學習的最根本途徑應該是活動,活動是認識發展的直接源泉。所以教學中我充分調動學生的眼口手腦等多種感官參與活動。例如教學四年級下冊《文具店》(小數乘法)一課時,我讓學生們在課堂上吆喝起來,賣鉛筆啦,一把0.3元,尺子一把0.4元,轉筆刀一個0.6元,同學們紛紛表示要買,我讓學生自主選擇要什麼,買多少,需要付多少錢,算對了直接寫上答案找老師領物品(模型),學生興致勃勃,計算正確率特別高。本節課學生雖然初步接觸小數乘法,但深諳整數乘法的意義,再加上有趣的數學活動,學生對求幾個相同的小數用乘法計算理解得非常透徹。
鼓勵質疑,調動主體意識
問題是學生主動學習的最初源泉,是點燃學生思維的火花,是學生保持探索的動力,正如古人雲:學起於思,思源於疑。教學中,我根據學生的認知規律以及心理特徵巧妙製造懸念,誘發學生學習興趣,大膽質疑,積極討論,充分地調動學習主動性,從而更深刻地認識到自己是學習的主體。例如我在教學四年級下冊《誰打電話的時間長》(除數是小數的除法)時,我先問學生兩個人在打電話,一個打到安海,一個打到貴州,通話時間一樣長,誰的電話費多?讓學生了解長途電話比短途電話貴得多這個事實。接下來拋出問題:小紅和小華一起去公共電話亭打電話,小紅打國內電話,每分鍾0.7元,她花了8.54元,小華打國際電話,每分鍾7.2元,他花了45元,你們知道誰打電話的時間長?先讓學生猜測並談談理由,有的說小紅打的時間長,因為她的電話費便宜,有的說小華打的時間長,因為他花的錢多。真是公說公有理婆說婆有理,最後還是得用事實數據來證明——計算。怎麼算?請兩個同學(中等生)在黑板上算,其他同學做在本子上,之後繼續討論。板演的兩種答案分別是:8.54÷0.7=1.22(分) 45÷7.2=0.625(分) ̄;8.54÷0.7=12.2(分)45÷7.2=6.25(分)誰的答案才是正確的呢?學生一臉疑惑,我因勢利導,說:大家想一想怎樣驗證誰的答案才是正確的呢?整數除法的驗算方法派上用場了,學生馬上把這種方法遷移過來,「用商乘以除數看是否等於被除數」學生脫口而出,接下來又是一番的計算,找到正確答案,可是這又跟商的小數點要跟被除數的小數點對齊互相矛盾(觀察除法豎式),學生的思維在這里又產生碰撞,又一陣嘰嘰喳喳,這時我提醒學生翻開書本看看智慧爺爺解決問題的方法,學生恍然大悟,把除數先化成整數,再把被除數擴大相同的倍數,這是上學期剛學過的商不變性質,學習遷移在這里起到撥亂反正的作用。至此學生對於除數是小數的除法的計算方法牢記在心,後面的課堂練習進行得非常順利。可見讓學生大膽質疑,才能對問題進行主動探索,在探索中求同存異,充分體現學生學習的主體性。
3.合作交流,激發創新思維
俗話說:「三個臭皮匠,頂個諸葛亮。」小學數學新課程標准也明確指出:自主探索、合作交流是學生學習數學的重要方式。在合作交流中,學生在充分發揮群體磨合後的智慧集思廣益,有利於學生積極主動參與活動,又能溝通信息開闊思路,培養學生傾聽能力和協作精神,他們在相互學習中常常突破常規,拓展思路找到多種解決問題的方法並最終同意思想,得到最佳答案。例如教學《電視廣告》(小數混合運算)時,我採用了小組合作的學習方式,在出示題目後,我讓學生在小組中(前後四人)討論分析題意尋找解題方法,鼓勵解題多樣化,這樣根據小組匯報的情況來看,學生有分步計算的,也有列綜合算式的;有先求每天的廣告費,再算出每秒的費用,有先算兩周共播出的秒數再算每秒的費用。接著讓學生繼續在小組中討論各種演算法的合理性及其局限性,從而比較出它們的聯系及區別,最終得到計算連除的簡便方法。接下來讓把整數混合運算的計演算法則及定律遷移到小數混合運算中來。
三、巧用變式訓練,防止負遷移的產生
變式是通過變更對象的非本質特徵的表現形式,變更觀察事物的角度或方法,以突出對象的本質特徵。在教學中靈活地運用變式訓練,可以從不同角度豐富學生對數學知識本質的理解,有效地防止負遷移的產生。教《誰打電話的時間長》(除數是小數的小數除法)一課,在課堂鞏固聯系中,我設置了以下幾道題:A填空56÷7=560÷( ) 0.78÷0.2=( )÷2 0.7÷0.25=( )÷25 4.06÷0.58=( )÷( ) 32÷0.08=( )÷( ),設計這道題的目的在於檢查學生對商不變規律的掌握程度;B判斷對錯0.63÷0.7=9 3.06÷4.5=0.6……26 0.4÷0.5=0.08 設計這道題主要目的是讓學生分析錯誤的原因,避免在練習中出現類似的錯誤。C列豎式計算6.21÷0.3= 0.012÷0.25= 7÷0.35= 防止在小數轉化成整數的過程中出錯,防止除數轉化成整數,被除數也直接變為整數;D解決實際問題(應用題),培養學生運用知識解決實際問題的能力。變式訓練有著很高的教學價值,是一種有效的教學途徑,能有效地防止負遷移的產生。
總之,在新課程標準的指導下,我們作為一線教師應該靈活運用學習遷移,充分調動學生學習的自主能動性,引導學生積極主動參與,從被動「學會」到主動「會學」,讓學生通過數學學習培養創新能力,發展智力水平,實現由「教」到「學」的有效轉變。

Ⅵ 人工智慧,機器學習,神經網路,深度神經網路之間的關系是什麼

這些概念大家經常碰到,可能會有一些混淆,我這里解釋下。


人工智慧,顧名思義ArtificialIntelligence,縮寫是大家熟知的AI。是讓計算機具備人類擁有的能力——感知、學習、記憶、推理、決策等。細分的話,機器感知包括機器視覺、NLP,學習有模式識別、機器學習、增強學習、遷移學習等,記憶如知識表示,決策包括規劃、數據挖掘、專家系統等。上述劃分可能會有一定邏輯上的重疊,但更利於大家理解。

其中,機器學習(MachineLearning,ML)逐漸成為熱門學科,主要目的是設計和分析一些學習演算法,讓計算機從數據中獲得一些決策函數,從而可以幫助人們解決一些特定任務,提高效率。它的研究領域涉及了概率論、統計學、逼近論、凸分析、計算復雜性理論等多門學科。

神經網路,主要指人工神經網路(ArtificialNeural Network,ANN),是機器學習演算法中比較接近生物神經網路特性的數學模型。通過模擬人類神經網路的結構和功能,由大量「神經元」構成了一個復雜的神經網路,模擬神經元的刺激和抑制的過程,最終完成復雜運算。

深度神經網路,大家可以理解為更加復雜的神經網路,隨著深度學習的快速發展,它已經超越了傳統的多層感知機神經網路,而擁有對空間結構進行處理(卷積神經網路)和時間序列進行處理(遞歸神經網路)的能力。

所以上面的四種概念中,人工智慧是最寬泛的概念,機器學習是其中最重要的學科,神經網路是機器學習的一種方式,而深度神經網路是神經網路的加強版。記住這個即可。

Ⅶ 過度學習對學習遷移有何影響

深度學習在一些傳統方法難以處理的領域有了很大的進展。這種成功是由於改變了傳統機器學習的幾個出發點,使其在應用於非結構化數據時性能很好。如今深度學習模型可以玩游戲,檢測癌症,和人類交談,自動駕駛。

深度學習變得強大的同時也需要很大的代價。進行深度學習需要大量的數據、昂貴的硬體、甚至更昂貴的精英工程人才。

在Cloudera Fast Forward實驗室,我們對能解決這些問題的創新特別興奮。我們最新的研究報告深入探討了多任務學習,一種允許機器學習模型同時從多個任務中學習的方法。其中的一個好處就是可以減少訓練數據需求。

在本文中,我們將講述遷移學習,這是一種可以將知識從一項任務遷移到另一項任務的相關技術。遷移學習允許你從相關問題中轉移知識而不是針對問題開發一個完全定製的解決方案,這能幫助你更輕松地解決特定問題。通過遷移這些知識,你可以減少很多開支,接下來看一下該方法如何有效地解決上述問題。

為什麼深度學習不同於其他方法

遷移學習不是一種新技術,也不是專門針對深度學習的,但考慮到最近深度學習的進展,它是一種令人興奮的新技術。首先,有必要說明深度學習與傳統機器學習的不同之處。

深度學習是在較低的抽象層次上進行的

機器學習是機器自動學習函數權重的一種方式。



這個特定的架構是如何選擇的?這是多年來各種深度學習專家的研究和實驗的結果。在這個復雜的結構中有2500萬個權重,如果沒有對模型的每個組件的廣泛了解,從頭優化這些權重幾乎是不可能的。幸運的是,通過遷移學習,可以重用復雜的結構和優化的權重,大大降低了深入學習的門檻。

結論

遷移學習是一種知識(權重)共享技術,它減少了構建深度學習模型所需的訓練數據、計算能力和工程人才的數量。而且,由於深度學習能夠比傳統機器學習提供顯著的改進,因此遷移學習是一個必不可少的工具。

Ⅷ 怎樣利用遷移規律進行科學的訓練與教學

遷移是一種學習對另一種學習的影響.在《數學課程標准》中指出:「數學教學活動必須建立在學生的認知發展水平和已有的知識經驗的基礎上.」 「教師應幫助他們掌握基本的數學知識與技能、數學思想和方法,獲得廣泛的數學活動經驗.」學生已有的知識經驗對新知的學習有著正遷移或負遷移,從義務教育的目標著眼,我們所期望的是一種學習對另一種學習的促進影響(正遷移).學習的正遷移量越大,說明學生通過學習所產生的適應新的學習情境或解決問題的能力越強,教學效果就越好. 數學是一門邏輯性較強的學科,它的知識系統性強,前面的知識是後面知識的基礎,後面的知識是前面知識的延伸和發展.作為教師就要挖掘和溝通種種聯系,指導學生把已知遷移到未知中去,把新知識同化到舊知識中來,讓學生從已獲得的判斷中進行推理,再獲得新的判斷,從而擴展學生的知識結構. 一.分析學生認知結構,組建新知識「固定點」 認知結構就是學生頭腦里的知識結構.固定點,就是認知結構中處於較高抽象、概括水平的起固定作用的觀念.學習中,如果學生原有的認知結構里沒有適當的起固定作用的觀念可以用來同化新知識,那麼,學生的學習就是機械的學習.更確切地說,如果認知結構中只有一些膚淺的不完全適合的觀念可以用來同化新知識,那麼就將出現並列結合的同化.其結果,新知識不能有效地被固定在認知結構中,從而引起不穩定的和含糊的定義,並導致迅速的遺忘.有時在學生的認知結構中,已有起固定作用的觀念,但自身不能充分利用,結果也會出現機械學習.因此,教師在准備每一節課時,在認真鑽研教材的基礎上,通過談話、測試、作業分析等,了解學生的認知結構,認真分析學生學習新知識所需「固定點」的情況,然後一方面可以採取課前適時地回授,喚起學生回憶,實現知識的正遷移;另一方面,可在新課的檢查學習階段,有針對性地介紹一些與學習材料相關聯的引導性材料,充當新舊知識的認知橋梁,使學習目標變得清楚明了. 如教學「除數是小數的除法」時,「商不變的性質」、「小數點位置的移動引起小數大小的變化」、「除數是整數的除法的計算方法」是學生認知結構中起組建新知的「固定點」.課上可先讓學生計算除數是整數的除法,幫助學生復習整數除法的計算步驟和試商方法,著重理解「除到被除數的哪一位,就在那一位上寫商」這句話的含義,從而可以使學生在學習新知識時更好地理解「商的小數點要和被除數的小數點對齊」的道理,促進學習的遷移.還可以根據如何處理小數點設計一組復習題,為引導學生被除數是小數的除法轉化為除數是整數的除法做好知識上和技能上的准備. 二.研究教材知識體系,牢牢把握「遷移點」 遷移點,就是知識之間的連接點和新舊知識的生長點. 如果新的學習任務不能同認知結構中原有的觀念清晰的分辨,那麼新獲得的意義的最初可分離強度就很低,而且這種很低的分離強度很快就會喪失.也就是說,學生在學習時,只有清晰的分辨新舊觀念的聯系,才能增強分離強度,從而使新知識納入到舊知識中去,形成新的認知結構.因此教師在備課時,不僅要研究好每一課的新知識與原有知識的聯系,還要善於從教材整體角度出發,充分考慮每個單元、每個例題在教材中所佔的地位,尤其是在後續知識中的位置,以便有的放矢的「超前」教育. 例如,學習了「長方體和正方體的體積」以後,及時引導學生將長方體和正方體的體積進一步概括成「底面積×高」,這種「超前孕伏」不僅可以減輕學生記憶負擔,又可為學習圓柱體體積計算做好遷移的准備.又如實際問題教學中,一步和兩步實際問題,正敘與逆推問題均有這種「遷移點」存在.可見,在教學中,抓住知識的內在聯系,適當點撥,對舊知識深入理解不僅為遷移奠定了知識基礎,更創造了學習後續知識的思維條件,從而起到了事半功倍的效果. 三.改進教學方法,促進學生主動遷移 傳統的遷移理論「概括說」指出,遷移與教學方法有著密切的聯系,即同樣的教材、內容,由於教學方法的不同,教學效果大為懸殊,遷移的效應也大不相同.因此,在教學中,我通過以下教學方法,強化學生遷移意識,促進學生主動遷移. 1、聯系生活背景,促進主動遷移. 荷蘭數學教育家弗萊登塔爾提出「數學現實」的教學原則,即數學來源於現實,紮根於現實,應用於現實.學生認識事物的規律是以周圍世界的形象的表象為支柱的.教學中,教師有目的的創設情境,藉助生活中的有關實際經驗,來培植出遷移的知識基礎和思維條件. 如教學「小數加減法」時,安排學生課前去超市調查各種商品價格,課上利用搜集的數據編題,組織小組合作探究,探尋小數加減法的計算方法.又如學習「和差」問題時,課上拿7個蘋果,要分給兩位同學,其中一位要多分到一個,請同學們動手分一分.學生分的時候有各種分法.教師從中找到與「和差」問題直接關系的方法,給予引導和提倡,「可以先將要多給的一個拿出來,給一位同學,而後再平均分成兩份.多拿1個的學生得到的是兩部分,一部分是先得到的1個,另一部分是兩個人各得到的同樣的那一份.」當學生可以很快自如的按要求敘述分配方法時,再出示「和差」問題,學生就已經具備了遷移的思維條件,可以藉助生活中已有的有關實際經驗為媒介進行遷移,無需教師再下多少功夫了.J 結合學生的生活經驗和已有知識,使數學與學生生活貼近,這樣學生不僅進入數學的角色,增進對數學的理解和應用數學的信心,還在遷移中掌握了學習數學的方法,提高了數學能力. 2、發現知識的共同規律,促進主動遷移. 學生學習新知識時,引導學生充分觀察、討論,發現新舊知識的共性,展開主動的探索活動,促進學生主動遷移,以達到從已知到未知的目的.如教學「三位數乘法」時,與「兩位數乘法」比較,計算方法基本相同,知識擴展到用第二個因數百位上的數去和第一個因數去乘.教學時就可以抓住它們之間的共同規律,先復習兩位數乘法的算理和演算法,然後在百位上加一個數字,即314×22→314×222,讓學生將兩式對比,指出計算上的異同,且邊計算邊找規律,最後總結出三位數乘法的方法. 3、運用知識的溝通轉化,促進主動遷移. 數學知識之間有著緊密的內在聯系,許多新知識在一定條件下可以轉化為舊知識去認識和理解.如教學「長正方形的面積」時,當學生已經掌握長方形面積的計算方法後,可以利用課件演示讓學生進行長方形面積的計算,即長方形寬3米不變,長由6米依次變為5米、4米、3米,當長方形的長、寬都是3米時,問:「長寬相等,這是什麼圖形?你已經計算出了它的面積,想一想,正方形的面積應該怎樣計算?」如此,學生可以順利地實現由長方形面積到正方形面積的主動遷移. 這種以舊知識的轉化達到溝通新知的方法,能使學生容易理解新知識的聯系與發展,又容易調動起學生學習情趣和探索新知識的積極情感. 此外,教學活動中的各種練習,是學生應用知識的一種重要形式,這種知識的應用,同知識、能力的遷移也有著密切的關系.有些心理學家把知識的應用看作是知識的再遷移.所以,在練習的設計時要有針對性、階梯性、啟發性、滲透性,練習要多樣化,並加強「變式」、「反例」、「對比」訓練,可防止思想僵化,也能有效地促進遷移. 總之,在小學數學教學中,有效運用遷移規律,既符合了學生學習的心理特點和認知規律,有助於形成完整的認知結構,又發展了學生的能力,培養了遷移意識和習慣,全面提高了學生的數學素質。

Ⅸ 該不該堅持學習Machine Learning

Machine Learning的前景怎麼樣?

Machine Learning作為統計學的一個分支,最近好像特別吃香,請大神們解疑,Machine Learning具體是干什麼的,前景什麼樣?


正好剛回答過類似的問題,直接引用下吧

Machine Learning現在是一個很火的研究方向。機器學習是研究計算機怎麼模擬人類的學習行為,並且能組織已有的知識構架使之不斷完善的性能的學科。 是人工智慧的核心,是使計算機具有智能的根本途徑。與其說是統計學的分支,不如說是統計學,計算機科學,信息科學的交叉分科。其涉及的知識面很廣,涵蓋了工智能、哲學、資訊理論、生物學、認知科學、計算復雜性等眾多領域的專業知識。現在存在的一些計算器系統是沒有學習的能力的(或者是有的已有了特別局限的學習能力?),因而是不能滿足生產的需求的。隨意隨著科技的發展,machine Learning肯定會得到長足的發展的。只是,machine Learning也有許多發展方向,不是每個方向都發展的起來。

附上這篇文章的鏈接吧:

數據挖掘和深度學習(deep learning)哪個更有發展前景?


我再補充下Machine Learning的研究目標吧:

認知模型——即是3M認知模型,是人類對真實世界進行認知的過程模型。認知是個系統的過程,其中包含感知,記憶,判斷與學習。因而完成這個認知過程,是個一及其艱難和浩大的工程。

通用學習演算法——像是大家熟知deep Learning就是Machine Learning中的一種比較深的演算法。 其實很多ML演算法都是非邏輯性的,輸入的信息數據通過數學模型而得出一個新的工具,其實可以說是建立一個人工識別號的資料庫

構造學習系統的方法(面向任務的)——其實就是研究如何通過環境向系統的學習環節提供某些信息。

先說這么多吧,有空的話做個圖解釋下ML的方法論,覺得還是解釋比較抽象,多多包涵吧。



Machine Learning是一門多領域的交叉學科,除了像最常見的統計學、逼近論、演算法復雜度分析理論等,也包括一些與生物領域的科學相關的問題,比如說最常見的人工神經網路中的各類神經元與鏈接方式都是仿照人腦進行操作的、以及遺傳演算法中模擬基因突變的過程等。

機器學習主要就是研究計算機如何模型或實現像人一樣的思維方式去學習知識,通過對新問題的反饋機制,修改或優化自己已經學習到的知識。其是人工智慧的核心,也就是說,人工智慧非常依賴機器學習的好壞與優良程度。

機器學習的方法以及其效果的好壞對於人類未來的發展至關重要,如果效果很高的話,至少可以替代人工做的一些重復的體力勞動,並可以根據特殊情況進行一定的反映。因此,就前景而言還是很好的,尤其是在現在這個大數據時代,越來越多的人類行為相關數據被記錄在案,為機器學習提供了基礎內容。此外,機器學習所產生的一些成果,已經應用於許多領域,包括數據挖掘、自然語言處理等等。

雖然機器學習已經取得了一定的突破,但是還是沒有達到人工智慧的程度,因此有許多問題是需要研究和發展的,因此,未來的發展也是充滿機遇與挑戰的。Machine Learning是個不錯的領域,如果想要進入的話,建議多學習一些基礎思想和編程




機器學習已經越來越平民化了(democratizing),數學和演算法並非一定要很深厚功力,大多通用演算法都是現成的,比如微軟Azure Machine Learning平台已經有很多打包的示例,如用來分析customer churn的示例等。至於operationalization(不知道怎麼翻譯),現在也沒這么難了。

我覺得如果只是應用機器學習來處理現實問題,最難的還是怎麼把通用演算法和自己公司的現實問題聯系起來,比如怎麼定feature,用哪種model,另外怎麼評價最終效果等等。難的是深入理解企業的實際業務,而非技術和演算法。

個人認為趨勢是隨著machine learning平台的成熟以及通用場景的演算法普及,data scientist這個稱號會逐漸平民化甚至消失,最後你搭個回歸模型之類的就像使用Excel處理一些數據這樣簡單。一個PM或者銷售經理可以自己做這事而不需要養一個專門的職位。




機器學習的應用在工業界需求很高,有過工作經驗的人可以很輕松的找到工作,供給遠遠小於需求,而且需求越來越大。

但是招 New Grad (PhD 可以考慮) 相對較少。原因很多,簡單來說,就是 New Grad 往往工程經驗不夠,學術能力也不夠。工業界的現狀不復雜:大公司搞機器學習的組大、人多、要求高,PhD 是進入的門檻;小公司人少,每個人都要獨當一面,因此必須要有過搭建實際機器學習系統的經驗。因此如果兩邊都沒有優勢的話,自然找工作比較吃力。

因此,對於有志於做這個方向的同學來說,建議找工作時調整心態,第一份工作盡量找到工作職責與機器學習相關的組,而不必追求一步到位。人生的職業生涯很長,做好3到5年的職業生涯規劃,積累實際工作經驗,不斷學習與強化自己。人與人的差距並不會在第一份工作中體現,而是在前幾年逐漸顯現出來。




機器學習早期發展是遵循實用主義糙快猛的路線。基本步驟就是靠直覺構造一個優化目標,然後解這個優化問題。數學工具基本上線性代數和凸優化也就夠用了。再深一點涉及博弈論,隨機過程,微分方程,測度論,實分析,泛函分析,李群等。

這個學科發展很快,長期處於理論跟不上實踐。當前的發展勢頭,已經到了一個工科那點數學不太夠用了的階段。很需要一批數學大牛來披荊斬棘一下。很多這個領域的人認為過多的數學沒必要,其實是因為這些人數學菜。我就看到過用代數幾何的方法(resolution of singularity, blow-up)漂亮的解singular model的問題。可惜很少人follow。 總之很多問題是到了需要引入高級數學工具才能漂亮解決的地步了。比如各種不變性和等價性需要黎曼幾何,各種ill pose singular問題需要代數幾何。

結局就是:還是好好去學數學吧。。。。。。





提幾個可能的有關機器學習當中的深度學習發展方向,同時也就是尚待解決的問題:

1.讓深度學習自動調超參。

最近看到有人在一個AI群里推廣自己的一篇論文《Deep Q-Networks for Accelerating the Training of Deep Neural Networks》,大致是用強化學習的方法訓練一個控制器來自動控制學習率以及在一個batch中各個類的樣本佔比。雖然它那篇論文問題很大,訓練出來的控制器極其不通用,只能用在它原本的任務上,但是感覺很容易解決掉,這個另說。想像一下,如果能夠訓練出一個通用的控制器,對於各類任務都能夠自動調整超參(或者只在某個子領域比如圖像分類做到通用也好),那我們就再也不用自稱調參狗了,同時也可以解放出更多的時間用於設計模型、驗證架構,想必深度學習的發展步伐會得到極大加速。

2.自動學習網路架構。

其實說起來這個問題也可以歸入自動調超參,但是感覺應該還是有很大的不同。說起來無非就是兩個方面,一是加法二是減法。加法方面可以參考《Net2Net: Accelerating Learning via Knowledge Transfer》,這篇是讓CNN自動根據需要自動拓展架構,包括橫向的增加filter和縱向的增加layer。減法方面可以參考各類Network Compression(網路壓縮)的論文中的所謂Network Pruning(網路剪枝),比如《Deep Compression - Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding》,雖然這些論文出發點不在於自動學習網路架構而在於壓縮網路規模,而且它們往往是在訓練收斂之後才對網路進行裁剪而非邊訓練邊裁剪,但是感覺只需要再跨一步就可以了。我個人覺得,自動學習網路架構需要解決的最根本問題就是「應該在什麼時機進行架構變動」以及「應該怎麼變」,第二個問題感覺上述論文算是回答得可以了,但是第一個問題似乎還有很多可以探索的地方。對於第一個問題,似乎強化學習就很適合解決,因為顯然可以把它看成一個控制問題。

3.遷移學習。

眾所周知,深度學習的直接訓練依賴大量數據,而transfer和finetune能夠有效利用數據量大的外部任務訓練出來特徵來遷移到數據量小的目標任務上,使得目標任務對於數據量的要求大大減小。現在的問題在於,遷移學習的思想現在大家其實都在用,很多論文中都可以看到finetune的做法,但是對於兩個任務之間需要「多像」才能夠遷移這么一個問題還沒有一個很好的回答。即使我們不奢求能夠給出一個嚴格的數學理論,至少,如果有人能夠做一個非常系統的對比實驗,總結出一些規律,使得我們有信心說在如何如何這樣一個邊界內的任務都是基本上可以transfer的,那將會是一個很大的進步。這個問題也可以這么看,如今我們應該有信心說兩個圖像分類任務可以transfer,但是這個邊界太過狹窄,我個人期待的就是能夠有一套理論或者方法論使得這個邊界大大拓展,然後在這個邊界內我們可以像對兩個圖像分類任務一樣自信滿滿地用遷移學習。

4.無監督/半監督學習。

像LeCun等大佬其實一直在鼓吹這方面,但似乎還沒有搞出像當年CNN(AlexNet)、最近強化學習(阿法狗)這樣級別的大新聞來。我理解在這個問題上的努力方向應該是確定「何種representation最有用」。具體來說,就是找到一個指標,然後用深度網路優化這個指標,使得滿足這個指標的data representation能夠具有非常好的特性。再具體一些,下面舉三個實際例子:

autoencoder以重構損失作為指標來學習一個representation。

之前聽一個講座,演講人介紹他的論文《Why Deep Learning Works: A Manifold Disentanglement Perspective》IEEE Xplore Abstract,其中定義了三個指標來描述深度網路每一層中data representation的「蜷曲程度」,並發現,越高層的數據蜷曲度越低,換言之,越平展。那麼無監督學習是否能夠直接以這個蜷曲度作為損失函數來學習一個representation呢?

這篇論文《Context Encoders: Feature Learning by Inpainting》提出通過預測周邊上下文像素來無監督學習視覺特徵,感覺很像word2vec從一維變成二維。

除了上述的重構損失、蜷曲度、預測上下文精度,還有沒有別的指標學習出來的representation更好呢?個人認為這些問題就是推動無監督/半監督學習進展的關鍵所在。

5.基於外部存儲(external memory)的模型。

如果說RNN、LSTM這樣的模型屬於internal memory / long-term memory的話,那麼以神經圖靈機(Neural Turing Machine)、記憶網路(Memory Network)為代表的模型就應該稱為external memory / really long-term memory了。不過這兩個模型剛出來的時候還太過naive,只能做一些很無聊的task,比如序列復制和排序以及非常簡單的QA,但是現在已經開始看到它們被用到更加實際的問題上面,例如One-shot Learning:《One-shot Learning with Memory-Augmented Neural Networks》。往大了說,如果未來要實現強AI,這種外部存儲的機制肯定是必不可少的。現在的問題在於,神經圖靈機和記憶網路用的外部存儲雖然比LSTM那樣簡單的一個hidden state向量更進一步,但也其實就是很簡單的一片矩陣,沒有任何結構和層次可言,換言之,就是還不夠復雜。所以我猜想接下來可能external memory會和知識圖譜(Knowledge Graph)結合起來或至少是向知識圖譜類似的做法靠攏,因為知識圖譜更加結構化。





咳咳,路過,進來小小的裝一下。本人現在大三,所以說在這個話題上可能並沒有什麼話語權,不過因為最近再跟老師搞項目,正好是這方面的,戳進來分享一下感受吧。

第一是:機器學習前景很好。這是真的,最近看了很多論文,有關數據挖掘數據分析類別的,裡面用到的百分之八九十都是機器學習,這可能也是人工智慧發展的最大需求吧,人工智慧無非是模仿人類,而人類最開始也是對世界充滿了無知,通過學習才慢慢認知這個世界的,個人感覺這就是為什麼機器學習會被提出來吧,像真的實現人工智慧就要從根源開始模仿人類,也就是從學習這個技能上入手。

說完了這個想說的是為什麼前景好呢,上面說過的用途和提出願景好是一方面,另一方面是因為這方面人才還比較少,其實這也是一種發展前景吧。就像前幾年計算機剛剛火起來的時候那些最早接觸計算機的人突然就變得很出名,然後社會上一大部分人都湧入到這個領域中,這是一個道理。機器學習現在還處在起步階段,下一階段怎麼發展決定於人們對他的研究深度和重視程度。就目前人工智慧不斷得到重視來看,應該還是很有發展前景的,說不好會成為繼計算機時代後的又一個新的時代。

以上觀點僅僅是個人觀點,我覺得至少在短時間內這個研究方向只會更火不會被冷,就像大數據一樣,同樣也有人在不斷質疑大數據的發展,不過目前發展的還是很好的不是嗎?

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

2016 機器學習之路:一年從無到有掌握機器學習

譯者:聞菲



今天是2016年9月12日AI WORLD 2016世界人工智慧大會倒計時 36天啟航期5折搶票倒計時 7 天




【導讀】程序員 Per Harald Borgen 在 Medium 刊文,介紹了他在一年的時間里,從入門到掌握機器學習的歷程。Borgen 表示,即使沒有博士學位和高深的數學造詣也能掌握機器學習。這一點相信對不少人都挺有吸引力和啟發。不過,博士學位或許真的並非必須,但要掌握機器學習,學再多的數學也不會嫌多。下面就來看 Borgen 不脫產,從菜鳥變熟手提升業績的故事。







第一步:Hacker News 和 Udactiy




Borgen 對機器學習的興趣始於 2014 年。跟很多人一樣,他最初是看到 Hacker News 的帖子,單純覺得教計算機學東西很酷。那時候他還只是個業余的編碼愛好者,連程序員都談不上。




於是,Borgen 開始了他的機器學習之路。首先,到 Uadcity 看監督學習的視頻,然後閱讀所有能找到的、跟機器學習有關的讀物。








Borgen 總結說,「這給了我一點概念上的理解,不過沒有實踐技巧。」




同時,他也十分坦承,Udacity 的 MOOC 他並沒有上完——只要是 MOOC,他幾乎都沒有堅持上完過。這一點,無論怎麼說,至少讓篇文章的置信度倍增。



第二步:掛掉 Coursera 機器學習課




2015 年初,Borgen 為了成為正式的開發人員,參加了 Founders and Coders(FAC)在倫敦的訓練營。在 FAC,他和同學一起,每周二晚上會看 Coursera 上機器學習課程的視頻。






不用說,大名鼎鼎的吳恩達的機器學習課。Borgen 表示課很贊,學了很多,然而他個人覺得這門課不適合新手。至少他自己,就需要反復看視頻才能掌握裡面講的概念——當然,這是 Borgen 的個人感受。不過,Borgen 在 FAC 學的同學也一個個掉隊,最終他自己也掛掉了。




Borgen 總結說,他當時應該學一門用機器學習庫編代碼的課,而不是從零開始建演算法,至少應該用他已經知道的編程語言寫演算法。




一句話,「對新手來說,一邊學語言一遍寫機器學習演算法代碼難度是很高的」。這句話有一定的參考價值。




Borgen 的建議是,可以選擇 Udacity 的《機器學習入門》(Intro to Machine Learning),更容易入門,上來就能實踐,在提升經驗值的過程中,學習的趣味性也會增多。




【經驗】從簡單的實踐學起,之後再學困難的、偏理論的東西。



第三步:一周學會機器學習




Borgen 在 FAC 做的最後一件事情,就是「一周學會機器學習」。他的目標是,一周以後能夠實用機器學習解決實際問題,而他也成功做到了這一點。




具體的經驗 Borgen 寫在了另一篇文章里。有興趣進一步了解,可以訪問:




簡單說,在一周的時間里,Borgen 做了以下幾件事情:




學會了 Scikit Learn


在真實世界資料庫跑了一次機器學習


從零(用 python )寫了一個線性回歸演算法


做了一點兒 NLP




【經驗】騰出一周時間來全身心地沉浸到機器學習裡面去,效果驚人。



第四步:掛掉神經網路




成功在一周的時間里拿下機器學習給了 Borgen 自信。因此,在他結束 FAC 回到挪威時,他計劃進行第二次挑戰——一周內學會神經網路。




然而,事實是殘酷的。離開 FAC 那種 沉浸式學習環境後,要一天寫 10 小時的代碼可不容易。




【教訓】找一個合適的環境做這種事情。




不過,Borgen 到底還是學上了神經網路。去年 7 月份的時候,他寫完了一個網路的代碼。雖然很粗糙,但完成比完美重要,對吧?








下半年,Borgen 換了一份新工作,這在某種程度上影響了他的機器學習學習進展。這一階段他主要做的是實現神經網路,他把大學時學的線性代數重新看了一遍。年底時,Borgen 寫了篇總結:




《學習如何編寫神經網路代碼》




也是在這篇文章里,Borgen 記錄了他從零開始寫代碼的過程。這篇文章在 Medium 上點贊的數量接近 600。



第四步:在 Kaggle 競賽中實踐




2015 年聖誕節,Borgen 參加了 Kaggle 競賽。當然,實踐的效果是顯著的,他得到了通過演算法和數據實際迭代實驗的經驗,也學會了在做機器學習項目時要相信自己的邏輯,「如果調參或特徵工程從邏輯上看有用,那麼一般都會有用」。







第五步:在工作中建立學習的習慣




2016 年初,Borgen 想將他在去年年底獲得的動力持續到工作中,便詢問經理是否能在上班時學新的東西——經理答應了。雖然 Borgen 在文中沒有多寫,實際上,從這個經歷中也能學到東西:




勇於提出需求,它們才有機會得到滿足——當然,你的需求需要合理。




於是,Borgen 就在上班時也能學機器學習啦(拿錢做想做的事情!)。在 2016 年積累了相關經驗以後,Borgen 的第一站是 Uadcity 的深度學習課程。然而,事實證明,對於現在的他來說,Udacity 的這門課已經太淺。不過,課後的 Ipython Notebook 作業卻太難。Debug 澆滅了他的大部分興趣。又一次地,一門 MOOC 被他放棄。






但隨後,Borgen 發現了斯坦福的 CS224D,這門課讓他獲益匪淺。Borgen 總結斯坦福 CS224D 的好處是:




盡管難,但做題從來沒有 debug;


課程提供答案,便於加深理解。




盡管 Borgen 仍然沒有把這門課上完,但他推薦有興趣的人去學。








另外,Borgen 在學這門課的過程中,為了完成題目,請了一位家教,時薪 40 美元,這位家教幫他發現了很多問題。因此,他得到了這么一條經驗。




【經驗】花 50 美元/時的金額聘請機器學習家教,絕對值得。(如果你有機器學習經驗,你可以獲得時薪 50 美元的打工機會。)



學以致用,提高銷售額




Borgen 在工作中實踐機器學習,他搭建了一個系統,節省了公司銷售部門同事的很多時間。相關代碼:




以上就是 Borgen 在實際工作中一年掌握機器學習的歷程。不管帶不帶感,至少十分真實。Borgen 在文章末尾寫道:「如果我做得到,你也做得到。」




尤其是工作中的程序員,你不想試試嗎?

Ⅹ 關於深度學習的問題都有哪些

很多人對於深度學習有很多的問題,其實這說明深度學習的關注度還是很高的。深度學習是為人工智慧服務的,因此深度學習這種演算法越來越受大家的關注。在這篇文章中我們就給大家解答一下關於深度學習的問題,希望這篇文章能夠給大家帶來幫助。
1.為什麼構建深度學習模型需要使用GPU?
在深度學習中,深度學習模型有兩個主要的操作,也就是前向傳遞和後向傳遞。前向傳遞將輸入數據通過神經網路後生成輸出;後向傳遞根據前向傳遞得到的誤差來更新神經網路的權重。在矩陣中,我們知道計算矩陣就是第一個數組的行與第二個數組的列元素分別相乘。因此,在神經網路中,我們可以將第一個矩陣視為神經網路的輸入,第二個矩陣可以視為網路的權重。這似乎是一個簡單的任務。但是數據有很多,如果我們用傳統的方法,訓練這種系統需要幾年的時間。如果使用神經網路的計算密集部分由多個矩陣乘法組成。那麼如何才能更快?我們可以簡單地通過同時執行所有操作,而不是一個接一個地執行。這就是為什麼我們要使用GPU而不是CPU來訓練神經網路的原因。
2.何時應用神經網路?
首先,深度學習模型需要清晰且豐富的數據來訓練。對於圖像處理等復雜問題使用深度學習需要很謹慎。深度學習演算法屬於表示學習演算法。這些演算法將復雜問題分解為更簡單的形式以便理解。對於傳統的演算法來說,這將更困難。硬體要求對於運行深度神經網路模型也至關重要。神經網路很久以前就被發現了,但近年來得以成功實現,硬體資源更加強大也是其主要原因。
3.是否需要大量數據來訓練深度學習模型?
其實我們確實需要大量的數據來訓練深度學習模型,但也可以通過遷移學習來克服數據量不大這一障礙。即使數據量不大,針對特定任務進行訓練的深度學習模型也可以重用於同一個域中的不同問題,這種技術被稱為遷移學習。
相信大家看了這篇文章以後對深度學習有所理解了吧?大家在學習深度學習的時候一定要意識到一件事情,那就是深度學習是機器學習的分支,想學好人工智慧一定不能忽視了對深度學習的掌握和熟知。

熱點內容
動態規劃01背包演算法 發布:2024-11-05 22:17:40 瀏覽:849
nasm編譯器如何安裝 發布:2024-11-05 22:01:13 瀏覽:181
登錄密碼在微信的哪裡 發布:2024-11-05 22:00:29 瀏覽:739
c防止反編譯工具 發布:2024-11-05 21:56:14 瀏覽:248
安卓虛擬機怎麼用 發布:2024-11-05 21:52:48 瀏覽:344
php時間搜索 發布:2024-11-05 20:58:36 瀏覽:479
燕山大學編譯原理期末考試題 發布:2024-11-05 20:13:54 瀏覽:528
華為電腦出現臨時伺服器 發布:2024-11-05 20:05:08 瀏覽:408
斗戰神免費挖礦腳本 發布:2024-11-05 19:53:25 瀏覽:665
網吧伺服器分別是什麼 發布:2024-11-05 19:45:32 瀏覽:392