文理組都能成功自學 AI 程式
理論與實作並用,打造穩固的深度學習基礎
本書內容改編自第 14 屆 iThome 鐵人賽 AI & Data 組的佳作系列文章《新手也能懂得 AI - 深入淺出的 AI 課程》。本書將以 AI 人工智慧的圖像與文字兩大領域應用為主軸,並對目前熱門的技術進行深度解析,內容範圍廣闊,涵蓋了辨識、生成和預測等技術。在閱讀本書的過程中,讀者不但會學習到基礎理論,同時也會進行程式撰寫訓練,並從實作練習加深對理論的理解與記憶。
本書提供了一條 6 階段的人工智慧學習之路,從基本 Python 程式、爬蟲技術打好基礎,接著正式引領你進入 AI 人工智慧,了解深度學習模型的運作原理,並且跟著實作範例從無到有寫出 AI 程式,最後還能學會將 ChatGPT 串接到 LINE Bot,打造智慧個人小幫手。
在這本書中,你將認識到各種常見的深度學習模型,包括 DNN、RNN、CNN,搭配適合初學者的 Keras、PyTorch、NumPy 等強大函式庫,讓你可以輕鬆打造阿拉伯數字辨識模型、股票趨勢預測圖,建立文章摘要,以及使用預訓練模型來強化模型的辨識能力。
四大重點
🚩 內容由簡入深
從簡易入門,逐步理解人工智慧
🚩 打通 AI 技能
學習不同 AI 專案,將程式應用於生活
🚩 全方面教學
不需要程式基礎,從零開始寫程式
🚩 理論結合實作
理論與程式並重,會寫也會玩 AI
目標讀者
● 對於人工智慧懷抱熱情,但是毫無程式經驗的新手
● 希望能夠快速習得並累積人工智慧程式專案經驗的工程師
● 剛踏入人工智慧領域的學生和研究者
● 需要結合人工智慧,用於特定應用領域的專業人士
專業推薦
「如果您正在尋找一本全面且深入的人工智慧學習資源,這本書絕對值得一讀。它提供了結構良好的學習路徑,使您能夠從基礎到高階的技術水平不斷進步。此外它以自學為導向,使您能夠更好地理解和應用所學知識,這對於成功應用人工智慧技術至關重要。無論您的學習目標如何,這本書都是一個出色的起點。」
──── 李俊宏 │ 國立高雄科技大學 電機工程系 資通組教授
作者簡介:
黃朝隆
國立高雄應用科技大學電機工程系碩士生,期間積極參與各項學術和實務專案,不僅深化了電機工程和資訊工程的知識,也將這些知識應用於實際的項目中。主要開發人工智慧技術應用於解決電機工程相關的系統,特別是在智能控制系統和自動化領域。曾參與開發基於機器學習的影像辨識系統,能夠自動識別和分類不同的物體,也參與自然語言處理項目,開發出能理解和生成人類語言的模型。
作者致力於將複雜的概念,以簡潔和易於理解的方式傳遞給他人。除了在國內擔任家教,更曾在國外擔任碩士生的程式語言家教。強調自主學習的重要性,並將其具體方法傳授給學生,讓學生能依照自身步調調整學習進度,並培養獨立解決問題的能力。
【iThome 鐵人賽獲獎】
🏆 2022 AI & Data 組佳作:《新手也能懂得 AI - 深入淺出的 AI 課程》
目錄
第 1 章 Python 入門
1.1 Python 發展歷史
1.2 安裝 Python 與函式庫
安裝 Python
安裝函式庫
開啟教材
1.3 資料型態
數值型態(Numeric Type)
字串型態(String Type)
容器型態(Container Type)
1.4 變數與運算
指派變數
全域變數與區域變數
垃圾回收機制
1.5 運算式、運算子及運算元
算術運算子
邏輯運算子
比較運算子
1.6 判斷式與迴圈
if⋯elif⋯else
for 迴圈
while 迴圈
1.7 函數與類別
函數(Function)
類別(Class)
第 2 章 網路爬蟲
2.1 Selenium 介紹與安裝
安裝方式
2.2 定位網站的元素
使用瀏覽器定位 HTML 元素
2.3 Selenium 實作
第 3 章 理解何謂人工智慧
3.1 何謂人工智慧?
3.2 人工智慧的發展歷史
3.3 人工智慧、機器學習、深度學習的差別
人工智慧
機器學習
深度學習
3.4 機器學習中不同的學習方式
監督式學習
非監督式學習
強化式學習
遷移式學習
第 4 章 DNN 原理介紹與 Keras 實作
4.1 何謂深度神經網路(DNN)?
輸入層(Input Layer)
隱藏層(Hidden Layer)
輸出層(Output Layer)
4.2 前向傳播與反向傳播
前向傳播(Forward Propagation)
反向傳播(Back Propagation)
4.3 學習率、梯度與優化器是什麼?
4.4 程式碼實作與解析:MNIST 手寫辨識
第 5 章 LSTM 原理介紹與 Keras 實作
5.1 循環神經網路(RNN)
5.2 LSTM(Long Short-Term Memory)
遺忘門層(Forget Gate Layer)
狀態保存層(Cell State)
輸出層(Output Layer)
5.3 程式碼實作與解析:繪製股票趨勢預測圖
第 6 章 CNN 原理介紹與 PyTorch 實作
6.1 卷積神經網路(CNN)
卷積層(Convolution Layer)
池化層(Pooling Layer)
全連接層(Fully Connected Layer)
6.2 PyTorch 介紹與安裝
安裝方式
6.3 程式碼實作與解析:CIFAR10 影像辨識
第 7 章 DCGAN 原理介紹與 PyTorch 實作
7.1 深度卷積生成式對抗網路(Deep Convolutional GAN)
7.2 鑑別器與生成器
生成器
7.3 程式碼實作與解析:生成假的 MNIST 手寫辨識
第 8 章 VGG16 原理介紹與 PyTorch 實作
8.1 預訓練模型 VGG16(Visual Geometry Group 16)
8.2 預訓練模型與遷移式學習
8.3 程式碼實作與解析:真假 MNIST 手寫辨識
第 9 章 LSTM 自然語言處理與 PyTorch 實作
9.1 電腦該如何讀懂文字?
9.2 Encoder、Decoder、Attention
9.3 TorchText 安裝與介紹
安裝方式
9.4 程式碼實作與解析:IMDB 影評情緒分析
第 10 章 BERT 原理介紹與 PyTorch 實作
10.1 萬物皆可 Transformer
10.2 BERT
10.3 認識 Hugging Face
安裝方式
10.4 程式碼實作與解析:真假新聞辨識
第 11 章 T5 原理介紹與 PyTorch 實作
11.1 T5 介紹
模型架構選擇
11.2 T5 的文本遮蔽方式
自監督預訓練策略(High-Level Approaches)
替換方式(Corruption Strategies)
替換率(Corruption Rate)
替換長度(Corruption Span Length)
11.3 程式碼實作與解析:生成新聞摘要
第 12 章 ChatGPT Prompt 設計與應用
12.1 GPT
GPT-2
GPT-3
ChatGPT
12.2 ChatGPT 能做什麼?
解釋程式碼
撰寫程式碼
修正程式碼
12.3 指令的設計方式
12.4 ChatGPT 的 API 申請方式
OpenAI API 申請方式
Azure API 申請方式
12.5 程式碼實作與解析:建立個人智慧 ChatGPT 小幫手
第 1 章 Python 入門
1.1 Python 發展歷史
1.2 安裝 Python 與函式庫
安裝 Python
安裝函式庫
開啟教材
1.3 資料型態
數值型態(Numeric Type)
字串型態(String Type)
容器型態(Container Type)
1.4 變數與運算
指派變數
全域變數與區域變數
垃圾回收機制
1.5 運算式、運算子及運算元
算術運算子
邏輯運算子
比較運算子
1.6 判斷式與迴圈
if⋯elif⋯else
for 迴圈
while 迴圈
1.7 函數與類別
函數(Function)
類別(Class)
第 2 章 網路爬蟲
2.1 Selenium 介...