Keras 教學- 機器學習與類神經網路 - Soul & Shell Blog

文章推薦指數: 80 %
投票人數:10人

Keras 是近年火紅的Machine Learning 函式庫,也是一個開源專案,透過Python 實做的深度學習高階API 函式庫。

採用MIT License,主要作者維護者是Google ... Keras教學-機器學習與類神經網路 Tags:AIKerasMachineLearningMNIST手寫辨識機器學習深度學習類神經網路bySJ on 2020/08/21 in 科技與科學,程式設計,雲端AI大數據 最近在研究Keras與深度學習,順便記錄一下學習的過程(完整Keras投影片)。

現在網路上已經有很多的資源可以幫助我們進行MachineLearning,像是GPU可以用CoLab提供的P100來訓練,足夠應付一般的實驗工作。

如果要訓練比較龐大的影像資料,還是自己買GPU或租用雲端MaaS服務吧,不然免費的CoLab穩定性不太夠,而且只有一顆GPU。

因為學習心得有點多,內容可能會分幾篇文章進行介紹。

廢話說完,那就先開始吧...... Keras是什麽? Keras是近年火紅的MachineLearning函式庫,也是一個開源專案,透過Python實做的深度學習高階API函式庫。

採用MITLicense,主要作者維護者是Google工程師FrançoisChollet。

在GitHubKerasProject獲得超多的Star與Fork。

Keras擁有以下特性: 相同的程式碼可以在CPU或GPU上執行 提供API快速建構神經網路雛型 內建函式庫支援卷神經網路、循環神經網路以及任何組合 可建構任何形式的深度學習模型,包含對抗神經網路、神經圖靈機 內建PlayDataset,可以進行一些演算法的實驗 架構如下: https://www.slideshare.net/databricks/a-tale-of-three-deep-learning-frameworks-tensorflow-keras-and-deep-learning-pipelines-with-brooke-wenig-and-jules-damji 為什麽現在「深度學習」高速發展? 類神經網路的概念很久以前就已經被提出,早期計算機運算能力有限,那時候只能解決簡單問題,比如訓練一個XOR互斥或閘(XORProblem)這樣的問題。

如今伴隨科技的進步,以往複雜的問題所需要的大量運算,逐漸被克服,以下幾點也是近年來MachineLearning發展迅速的主因: 硬體設備提昇:GPU,CUDA平行運算(Nvidia) 資料:伴隨網路發展產生大量的資料、標記內容 演算法:更好的啟動函數、更好的權重初始化方法、更好的最佳化方式 其中我認為半導體的技術發展是最大的推手,利用半導體發展AI運算專用的晶片,或者未來實現In-memoryProcessing這樣的晶片架構,都會大幅提昇AI解決問題與應用的能力。

機器學習的基本概念 如果你跟我一樣也是個程式(Bug)設計師,那麼我們平常的工作應該是: 沒錯,就是理解正妹PM提出的需求,經過專業的系統分析師(應該也是你)分析以後,接著由軟體架構師(應該也是你)進行系統設計,然後交給程式設計師(還是你)進行設計。

這樣的開發過程就是現在程式設計的流程,所有的「答案」都是我們可以預測的(我是說大部分比較正常的情況下),而我們實現「規則」的過程就是程式設計,但有時候規則很難被歸納與實現,說的出來但是很難收斂與系統化,比如從一張照片分辨是貓還是狗。

像這一類的問題對人類來說很簡單,對機器來說卻是很複雜。

相較於傳統的程式設計,機器學習的過程就不太一樣: 首先我們要準備很多「答案」與「資料」作為訓練樣本,然後假設這個規則可能構成的方法,接著讓機器根據我們提供的答案與資料進行訓練,嘗試找出兩者之間的「規則」關係。

這類的問題通常都是很難用傳統的「程式設計」來解決的問題,甚至有一些模糊地帶與不容易量化的問題答案,就可以透過機器學習(深度學習)來完成。

除了深度學習,還有淺層學習 除了深度學習用到的類神經網路,還有一個領域是機器學習常用的方法,統稱淺層學習。

這個詞比較少見,其實就是一些傳統的統計方法,這些其實都是透過「資料與答案」尋找「規則」,當然也屬於機器學習的一部分。

這些常用的方法如下: 機率建模(Probabilisticmodeling) 單純貝式分類器 邏輯斯回歸(LogisticRegression) KernelMethods SVM-將資料投影到高維空間,進而尋找最佳決策邊界。

難以用在大量的資料集,像是影像處理領域。

屬於淺層工作法,其中「特徵工程」就變得相當重要。

決策樹、隨機森林、梯度提昇機器 決策樹(Decisiontree) 隨機森林(RandomForest):集合大量決策樹組合輸出值,在2010~2014廣授歡迎。

梯度提昇機(GradientBoostingMachines,GBM):適合處理非感知資料,透過迭代訓練逐步提昇模型的弱點,也稱為弱預測模型。

上述的方法大家應該多少有些聽聞,我就不一一介紹了(我也不懂R~~~)。

類神經網路ANN 會被稱為類神經網路(ArtificialNeuralNetwork,ANN),是因為組合的結構與人類腦中的神經元相似,目前在機器學習上使用的神經網路規模的架構,與人類腦中的神經元組成大不相同,無論是複雜度與數量都無法與人腦相比。

現在可以透過HPC處理比較龐大的類神經網路,用來解決複雜的問題,一個簡單的神經網路如下: Refre:https://mc.ai/a-to-z-about-artificial-neural-networks-ann-theory-n-hands-on/ 一個類神經網路由許多Layer組成,透過Input與Output給予資料來訓練Layer中的參數。

類神經網路就像一個龐大的「多項式」,需要大量計算才能求得最佳解。

如今類神經網路已經發展出非常多樣的網路模型,透過不同的神經元連接方式、資料處理方式、參數調整方式、收斂方式來建立AI模型,應付各種問題。

類神經網路的概念就像一個黑盒子,理論上可以學習任何規則(是理論!?),在很早期1975年PaulWerbos發明的反向傳播算法(Backpropagation)就成功訓練了「互斥或」邏輯運算,一直到近幾年積體電路GPU突飛猛進,可以進行複雜與龐大的運算,也讓神經網路開啟進入到另一個階段。

為什麽現在「深度學習」高速發展?主要以下幾個原因: 硬體設備提昇:GPU,CUDA平行運算(N-Vidia) 資料爆炸:伴隨網路發展,產生大量的資料、標記內容 演算法:更好的啟動函數、更好的權重初始化方法、更好的最佳化方式 深度學習的基本概念 深度學習的基本架構,透過不同的「網路層」連接方式,可以產生不同的AIModel,解決不同的問題。

那麼深度學習是如何運作的?以監督式學習為例,我們需要先準備很多「輸入資料X」與「標準答案Y」然後送進網路進行運算。

藉由不斷調整參數來找到「解法」,一開始我們就會定義網路的組成方式,這個網路代表一個假設空間,藉由我們輸入的資料讓這個假設空間(網路)可以找到解法。

但如果我們一開始設定的假設空間(網路)就已經沒有涵蓋最正確的解法,那麼無論怎麼運算都不會有好的結果,所以一開始網路的架構選擇與組成也是很重要的。

整個訓練過程如下圖: 上圖當「輸入資料X」經過網路的計算後,會獲得答案「預測值Y'」但是一開始這個答案給我們的「標準答案Y」會有一些差距,基本的訓練架構會透過「損失函數」計算出「損失分數」,藉由我們選擇的「優化器」逐漸優化調整網路權重值,好讓我們的「預測值Y'」可以慢慢接近「標準答案Y」。

經過數輪的計算後這個「超級函式」就會擬合(Fit)我們的輸入資料,當未來送入一樣概念的資料時,網路就能輸出這個概念所理解的答案。

這篇文章是我今年K書整理下來的心得,後續會慢慢介紹其他Keras的用法.......下次見~ 更多文章Keras教學–如何透過資料擴增法利用少量資料訓練CNN網路Keras教學–訓練卷積神經網路Keras教學–神經網路訓練參數的特性與使用時機Keras教學–訓練IMDBReviewsCNN網路模型用GoogleColab免費GPU訓練AI模型教學Keras教學–KerasMNIST手寫辨識x深度學習的HelloWorld如何在Colab中透過KaggleAPI下載資料集 這是真的廣告 白金贊助 分享此文分享到Twitter(在新視窗中開啟)按一下以分享至Facebook(在新視窗中開啟)分享到LinkedIn(在新視窗中開啟)按一下即可以電子郵件傳送連結給朋友(在新視窗中開啟)按一下即可分享至Skype(在新視窗中開啟)分享到Reddit(在新視窗中開啟)分享到Tumblr(在新視窗中開啟)按一下以分享到Telegram(在新視窗中開啟) Postnavigation ←如何在Colab中透過KaggleAPI下載資料集 免費Mac資料救援軟體!EaseUSDataRecoveryWizard幫你找回遺失的美好→ 本著作由 SJ 製作,以創用CC姓名標示-禁止改作3.0Unported授權條款釋出。

聾子聽到啞巴說瞎子看到鬼! Searchfor: 分類 App開發 iOS&Apple Linux Web開發 假文青聽音樂 其他雜項 區塊鏈 吃喝玩樂 宅系手作 敏捷開發 科技與科學 程式設計 系統管理 網際網路 自己動手做 自由軟體 軟體工程 雲端AI大數據 求分享求關注 友站連結 Holly和你 NiNi的好好 Booking訂房優惠 幣安註冊獲得100美金回饋 贊助廣告樂樂童鞋蝦皮領卷免運活動



請為這篇文章評分?