驗證碼破解?TensorFlow 神經網路應用與實作深度學習模型
為什麼需要知道TensorFlow?優點與特性?
如果你是一個初學機器學習 / 深度學習的程式設計師或開發者,你會想要進一步將產品中加入與AI 人工智慧相關功能,亦或是將已有的深度學習模型部署到各種場景中,例如,如何匯出訓練好的模型?如何在本機使用已有的預訓練模型?如何在伺服器、可攜式裝置、嵌入式設備甚至網頁上高效運行模型?究竟,TensorFlow 能幫助我們做什麼?可分成兩大流程作切入,訓練流程與部署流程。訓練流程包含:資料的處理、模型的建立與測試、模型的訓練、模型的匯出;部署流程包含:伺服器部署、可攜式裝置和嵌入式設備部署、網頁端部署。然而,TensorFlow是以資料流程和可區別程式設計為基礎的符號數學程式庫,因此需要使用程式語言,其中Keras是機器學習的工具,使用的語言是python,Keras提供高階的API,在TensorFlow有提供tf.keras可以使用,tf.keras是基於Keras標準並且與TensorFlow整合的API,可以讓使用者以較簡潔的程式碼完成機器學習的程式。
為什麼深度學習很重要?
人工智慧試圖將電腦訓練為能像人類一樣思考和學習。深度學習技術驅動了許多日常產品中使用的 AI 應用程式,例如,數位助理、聲控電視遙控器、詐騙偵測、自動臉部辨識,也是新興技術的關鍵組成部分,例如自動駕駛、虛擬實境等。深度學習模型是資料科學家經訓練後使用演算法或一組預先定義步驟執行任務的電腦檔案,企業使用深度學習模型來分析資料並在各種應用程式中進行預測。其中,RNN(循環神經網路)與 CNN(卷積神經網路)都是最具代表性的深度學習模型,RNN 很擅長自然語言處理這類時間序列的資料,近來也常用於物聯網與機器異常檢測的應用。因此,掌握深度學習的開發技術,不僅於語音辨識與人臉辨識的 AI 生物辨識技術以提高安全性,還可以進行驗證碼認證的AI 內建於智慧型手機的應用程式中,提升安全性的使用者介面。
帶動企業數位轉型,深度學習有哪些挑戰?
使用大量高品質資料進行訓練時,深度學習演算法可提供更好的結果。輸入資料集中的異常值或錯誤可能會對深度學習程序產生重大影響。例如,在我們的動物影像辨識中,如果在資料集中意外引入非動物影像,深度學習模型可能會將飛機歸類為海龜。若要避免此類錯誤,就要先清理並處理大量資料,才能訓練深度學習模型並,且輸入資料預處理需要大量的資料儲存容量。因此,對於使用Python 的程式設計師,就可以藉由TensorFlow 的獨特程式設計環境,使用 Python 進行互動,可以在編譯程式碼時,通過程式碼並進行除錯,而無須載入巨大的圖形,也可以使用部分衍生工具建立許多有用的模擬與串接API。
課程的三大重點
深度學習基礎原理:使用tensorflow和keras框架,提升企業訓練模型開發與應用
你曾經使用過 chatbot、語言翻譯應用程式,或被 Netflix 推薦演出嗎?這些流程都由機器學習提供技術支援。本課程第一大重點,業師將引導學員逐步拆解tensorflow和keras這兩個業界主流的深度學習框架的基本概念,包含計算圖、張量、變數和運算等。同時,學習如何用 tensorflow+ keras框架建立深度學習模型,包括模型結構設計、損失函數選擇、優化器配置以及訓練過程中的調參技巧。通過本課程的學習,將能夠快速熟練運用tensorflow和keras進行深度學習模型的開發和應用。
從類神經網路(ANN)到卷積神經網路(CNN):解決面部辨識、被消費品與零售應用的圖像辨識各種應用情境
深度學習網路有哪些元件?在本課程第二大重點中,先瞭解深度神經網路包含輸入層、隱藏層、輸出層。其中,深度學習在圖像識別領域的應用,就包括類神經網路(ANN)和卷積神經網路(CNN),課程中將從類神經網路的概念和組成部分開始,進而介紹卷積神經網路的特點和優勢,瞭解這些理論基礎後,接著實際練習利用卷積神經網路建構MNIST手寫數字識別模型,設計適合圖像識別任務的深度學習模型,並探討如何通過適當的訓練策略來提高模型的性能。
驗證碼破解實戰操作:透過實際案例,掌握驗證碼破解技術
在本課程的最後一大重點中,我們將通過實際案例教授如何運用深度學習技術進行驗證碼破解。首先,將學習如何對驗證碼圖片進行蒐集及預處理,我們將運用前一單元學到的深度學習知識,設計並訓練完整適用於驗證碼破解的深度學習模型。最後,我們將透過Flask 搭建一個驗證碼識別API,讓驗證碼識別模型能夠成功部署上線,透過此一課程的學習,將能自主開發且商業應用的系統與服務功能!
課程大綱
深度學習介紹
本章節將介紹深度學習的基礎知識。首先,課程講解了什麼是類神經網路,介紹了它的基本結構和工作原理。接著,課程詳細講解了反向傳播算法,為何可以透過該算法加速類神經網路的訓練。最後,課程將討論如何從類神經網路發展到深度學習,並介紹深度學習的發展歷程。
1-1 什麼是類神經網路?
1-2 反向傳播算法
1-3 從類神經網路到深度學習
用Tensorflow + Keras建構深度學習模型
這門課程將介紹如何使用Tensorflow + Keras建立深度學習模型。首先,簡要介紹Tensorflow + Keras框架瞭解其特點。同時,課程將演示如何使用Tensorflow + Keras來構建一個MNIST手寫數字識別模型,並討論如何調整模型的參數以提高性能。業師也將介紹不同的優化器,以及如何使用這些優化器來提高模型的性能,並學習評估深度學習模型,以及如何優化和調整參數來提高模型的準確性。
2-1 Tensorflow + Keras 簡介
2-2 利用Tensorflow + Keras 建構MNIST手寫數字識別模型
2-3 優化器
2-4 評估、調參、優化深度學習模型
深度學習與圖像識別
這門課程將講解深度學習和圖像識別。首先,課程會講解什麼是卷積神經網路?探究卷積神經網路的基本結構和工作原理。課程中也演示如何使用卷積神經網路來建立圖像識別模型,並通過實例來講解如何建構一個MNIST手寫數字識別模型。並討論如何調整模型的參數以提高模型的性能和精確度。通過這門課程,可以學習如何使用卷積神經網路來進行圖像識別。
3-1 什麼是卷積神經網路?
3-2 建立卷積神經網路
3-3 利用卷積神經網路建構MNIST手寫數字識別模型
驗證碼資料蒐集、預處理與標記
這門課程將涵蓋驗證碼資料蒐集、預處理和標記的相關技術。透過學習,可掌握如何使用網路爬蟲來蒐集驗證碼資料,以及如何利用圖像處理技術進行驗證碼資料的預處理。最後,課程還將介紹如何標記驗證碼資料,以便將其應用於深度學習模型的訓練。
4-1 利用網路爬蟲蒐集知名網站驗證碼資料
4-2 驗證碼資料預處理
4-3 標記驗證碼資料
建立驗證碼識別模型
本章節將示範如何建立驗證碼識別模型。首先演示如何使用卷積神經網路來訓練驗證碼識別模型。課程中介紹如何評估模型的準確性和性能,以及如何調整模型的參數以提高其準確度。最後討論如何保存驗證碼識別模型,以便於日後的應用。
5-1 驗證碼識別模型簡介
5-2 運用卷積神經網路訓練驗證碼識別模型
5-3 評估驗證碼識別模型
5-4 保存驗證碼識別模型
驗證碼識別模型部署
這門課程將介紹如何部署驗證碼識別模型。業師將演示如何載入已建立的驗證碼識別模型,以便將其部署到應用程式中。接著,實際操作使用Flask建構驗證碼識別API,以便可以通過API對驗證碼進行識別。透過實作建立的驗證碼識別模型部署到應用程式中,可完整學會建構一個API以便使用模型進行驗證碼識別。
6-1 如何載入驗證碼識別模型
6-2 如何運用Flask 建構識別API
課程學習前須知
- 實際授課內容、順序、師資或有調整,依課程現場為準。
加入我們一起學習 TensorFlow 神經網路應用與實作深度學習模型!
授課業師
丘祐瑋|大數軟體有限公司 執行長
業師現任大數軟體有限公司(LargitData)創辦人暨執行長。曾於趨勢科技擔任工程師,資策會國際人才發展中心專業講師,選戰輿情分析師,亦是致力於提供 Data-as-a-Service 的創業者與資料科學家。業師專注於資料分析,擅長使用R語言、Python與機器學習技術進行資料分析,並熟知如何Hadoop、Spark等巨量資料平台打造大型數據服務。業師與其團隊曾榮獲AngelHacks台灣區首獎、台泰跨國黑客松-無敵黑客獎、中國雲計算大資料創新專案評選優勝,客戶橫跨半導體、金融、網路、電信與政府機構等行業,更建立大數學堂,定期分享各種數據分析技巧,具豐富實務經驗。
課程資訊
課程名稱
驗證碼破解?TensorFlow 神經網路應用與實作深度學習模型(C1470)
課程各期時間與上課模式
#線上課程
。上課模式:線上錄製影片
。觀看方式:訂單隔日工作日寄送觀看Email(信內附上影片連結,未收到Email,請務必與我們聯繫)
。觀看時間:依購買天數方案,自「觀看通知Email」寄送日起算第一天。
課程售票
VIP票券兌換:每人扣 1 張VIP票券 ( VIP申購方案 )
課前搶先發問
TensorFlow是一個開源機器學習框架,而Keras是在TensorFlow之上建立的高階API。Keras提供了更簡單易用的介面,可以加速模型的開發和訓練。
如果您需要更高的彈性和自定義性,應該選擇TensorFlow。如果您想要快速建立和訓練模型,而不需要深入的細節,則選擇Keras。
是的,您可以在沒有GPU的情況下運行TensorFlow和Keras,但在處理大型數據集或複雜模型時,使用GPU可以大幅加速訓練過程。
Keras支援各種深度學習模型,包括卷積神經網絡(CNN)、循環神經網絡(RNN)和轉換器模型(Transformer)等。
您可以使用TensorFlow的SavedModel API保存和載入模型。使用model.save( )方法保存模型,tf.keras.models.load_model( )方法載入模型。
可以使用Keras提供的GridSearchCV或RandomizedSearchCV函數,通過設置不同的參數組合進行模型的自動調參。
TensorFlow和Keras可以運行在多個平台上,包括Windows、Linux和macOS等。
TensorFlow提供了tf.distribute.Strategy API,可以在多個設備或多台機器上進行分佈式訓練。
您可以使用tf.keras.utils.plot_model函數可視化TensorFlow中的模型結構。