# 廣度課程 - AI
---
## Who am I \?
#### 百變怪
- 中央資電院不分系
- 喜歡學各種奇怪的東西
- 目前主要的研究方向是 AI, NLP
- [Contact](https://linktr.ee/jasonyeh)
- [Medium](https://medium.com/@jasonjasonyehyeh)
<img style="float: right; float: top" src="https://en.gravatar.com/userimage/234091029/603617d51fdb5894b25480951b2e916c?size=200" width="300">
----
有任何問題都可以在 [Slido](https://wall.sli.do/event/v3iFn7FpyuXX8jrfgGsuaY?section=b97b6a3d-6a9b-49c9-aeb8-8e2c2bb9d46e) 發問歐

----
### 那我們開始吧 !

---
# 大綱
----
<font style="position: absolute;top: 10px;left: 150px;">
- 為什麼要談論 AI ?
- AI 分成哪些類型?
- 深度學習 AI 是如何運作的?
- 神經元與神經網路
- 訓練到預測
- 舉個例子
- ChatGPT
- AI 無所不能?
</font>
---
## 為什麼要談論 AI ?
因為 2022 年底 ChatGPT 的出現, 2023 be like ...
{%youtube b_bFjdM3Pvk%}
----
### 其實 AI 早已在我們的生活中,只是我們沒發現
- [Google Translate](https://zh.wikipedia.org/wiki/Google%E7%A5%9E%E7%B6%93%E6%A9%9F%E5%99%A8%E7%BF%BB%E8%AD%AF%E7%B3%BB%E7%B5%B1)
- iPhone FaceID
- Google 助理, Siri, Alexa
<font size="5">~~這世界不是缺少 AI,只是缺少發現~~</font>
note: google translate 2016 開始使用神經網路
---
### AI 可以
- 下圍棋: [AlphaGo](https://www.deepmind.com/research/highlighted-research/alphago)
- 幫你寫程式: [GitHub Copilot](https://github.com/features/copilot)
- 跟你聊天: [ChatGPT](https://openai.com/blog/chatgpt)
----
### AI 還可以
----
#### 得到數位藝術類冠軍

<font size="5">美科羅拉多州博覽會現代美術競賽 數位藝術類冠軍</font>
Midjourney 太空歌劇院
----
#### 幫你修圖
{%youtube Y119ZaHIPp0%}
note:
----
#### 自己開車
{%youtube hA_-MkU0Nfw%}
----
#### 玩 Mincraft
{%youtube VKEA5cJluc0 %}
----
#### 幫你做 PPT
[Gamma](https://gamma.app/)
{%youtube GHe6IKy2kz8%}
----
#### 幫你讀 Paper
[chat-PDF](https://www.chatpdf.com/)

----
#### 變成女朋友 !?
[GirlfriendGPT](https://github.com/EniasCailliau/GirlfriendGPT)
{%youtube LiN3D1QZGQw%}
---
### 阿! 為什麼叫人工智慧?
### 不是就是演算法嗎?
----
因為我們對世界的瞭解太少,存在無法輕易被表達的規則,確又無法列舉所有可能性
例如: 如何辨識一隻貓?
----
#### 所以說規則呢?
<g style="position: absolute;top: 160px;left: 100px;">
這是貓<br>
<img src="https://images.unsplash.com/photo-1608848461950-0fe51dfc41cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxleHBsb3JlLWZlZWR8M3x8fGVufDB8fHx8fA%3D%3D&w=1000&q=80" width="100" style="transform: rotate(0deg)">
</g>
<g style="position: absolute;top: 160px;left: 300px;">
這是貓<br>
<img src="https://images.unsplash.com/photo-1608848461950-0fe51dfc41cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxleHBsb3JlLWZlZWR8M3x8fGVufDB8fHx8fA%3D%3D&w=1000&q=80" width="100" style="transform: rotate(-5deg)">
</g>
<g style="position: absolute;top: 160px;left: 500px;">
這是貓<br>
<img src="https://images.unsplash.com/photo-1608848461950-0fe51dfc41cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxleHBsb3JlLWZlZWR8M3x8fGVufDB8fHx8fA%3D%3D&w=1000&q=80" width="100" style="transform: rotate(27deg); filter: grayscale(100%);">
</g>
<g style="position: absolute;top: 160px;left: 700px;">
這是貓<br>
<img src="https://images.unsplash.com/photo-1608848461950-0fe51dfc41cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxleHBsb3JlLWZlZWR8M3x8fGVufDB8fHx8fA%3D%3D&w=1000&q=80" width="100" style="transform: scaleX(-1); filter:invert(100%)">
</g>
----
透過大量閱讀資料,讓 AI 自己去找規律。
---
## AI 分成哪些類型?
#### 事情其實比想像的複雜...
----
### 人工智慧 , 機器學習, 深度學習

----
- 人工智慧 Artitficial Intelligence
- 廣義的稱呼
- 機器學習 Machine Learning
- 運用統計或數值方法
- 深度學習 Deep Learning
- 運用類神經網路
<font size='5'>現在常聽到的 AI 所指的多半是深度學習 AI</font>
----
#### 根據問題類型分類
- 影像處理
- 物件/人臉辨識, 影像強化
- 音訊處理
- 聲音辨識, 去雜訊
- 自然語言處理
- 翻譯, Chat-bot
- 生成式
- 圖像生成, 文字生成, 音樂生成
----
#### 根據訓練類型分類
- 監督式學習 Supervised Learning
- 有資料, 有預期輸出
- 無監督式學習 Unsuperivised Learning
- 有資料, 沒有預期的輸出
- 強化式學習 Reinforcement Learning
- 基於環境而行動,做出決策
- <font color="#b83f3d">Rule-Based Learning</font>
- 決策樹,也就是一堆 if-else
- <font color="#3d5eb8">Meta Learning</font>
- 學習如何學習,訓練 AI 製造 AI
---
## 深度學習 AI 是如何運作的?
### 神經元與類神經網路
----
什麼是神經元?
<img src="https://lockowl-study.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F7c0b5bae-dd58-46e5-a65c-f5c70c38c9ec%2FUntitled.png?table=block&id=7e7e53dd-2ae1-4730-820d-e128e90ca29f&spaceId=5b32f493-ae77-4a08-bcaa-f1e77c715bb0&width=2000&userId=&cache=v2">
----
人工類神經網路 簡單的數學運算
- 接收: x1, x2,
- 觸發: w1, w2, w3, b
- 傳導: σ
- 輸出: a
<img src="https://wugh.github.io/images/NLP/neural-network-neuron.png">
----
數學運算??
----
<img src="https://programmermagazine.github.io/201404/img/NeuralNet1.jpg">
----
<img src="https://3b1b-posts.us-east-1.linodeobjects.com//images/topics/neural-networks.jpg">
---
## 深度學習 AI 是如何運作的?
### 從訓練到預測
----
#### 用 AI 解決問題的步驟
1. 問題是甚麼? 有甚麼的特性?
2. 找到適合訓練的資料 - 資料整理, 資料標註
3. 設計適合的模型 - 符合問題, 符合硬體
4. 訓練模型 - so we wait...
5. 測試
6. (回到 1, 2, 3 進行修正)
note: 以薪水資料預測
----
#### 其實還存在 Step 0
這問題適合用深度學習 AI 解嗎?
- 有沒有明顯規則可循? → 用 rule-based
- 有沒有已經存在的演算法? → 用演算法
- 有沒有機器學習的解法? 用統計? → 用機器學習
---
## 深度學習 AI 是如何運作的?
### 舉個例子
----
假設我們要建立一個模型能夠辨認手寫數字
<img src="https://lucidar.me/en/matlab/files/digit-12-matlab-grayscale.png">
圖片 --[AI預測]-→ 數字
----
#### Step 0: 這問題適合用深度學習 AI 解嗎?
- 似乎沒有明顯的規則
- 沒有存在的演算法
- 機器學習方法可行但不夠好
→ 所以我們用深度學習的方式試看看
----
#### Step 1: 問題是甚麼? 有甚麼特性?
- Input: 28 * 28 的黑白手寫數字照片
- Output: 一個數字,預測結果
- 特性: 黑白、圖片大小固定、輸出只有0~9 (是一個分類的問題)
----
#### Step 2: 找到適合的訓練資料
MNIST 資料集
<img src="https://storage.googleapis.com/tfds-data/visualization/fig/mnist-3.0.1.png" width="450">
<font size="4">它幫我們 Label 好每一張圖的正確答案了,所以可以用 Supervised Learning 的方式</font>
----
#### Step 3: 設計適合的模型
設計一個深度神經網路的模型
<img src="https://miro.medium.com/freeze/max/540/1*82NoZku9Ki3F-AM6U7TORA.gif">
<font size="4">如果模型的 9 號輸出值最大,我們就說模型預測這張圖片是數字 9</font>
----
#### Step 4: 訓練模型
模型各參數的初始值都是隨機
1. 丟資料進去模型,拿到一個預測的輸出
2. 對比預測的輸出與 Label (正確答案)的差距
<font size="5">預測結果: (0, 0.01, 0, <font color="green">0.5</font>, 0.2, 0, 0.03, 0.04, 0.03, 0.09) 預測為 3
正確答案: (0, 0, 0, 0, 0, 0, 0, 0, <font color="green">1</font>, 0) 正確為 8
</font>
4. 更新模型的參數,使預測誤差變小
5. 重複步驟 1.
<font size="5">隨著逐次的迭帶,模型的錯誤率會一直下降,找到最好的模型參數</font>
----
#### Step 5: 測試
讓模型預測它從未看過的資料
- 看它是不是學到該學的東西
- 哪些狀況容易分辨錯誤
----
#### 玩玩看
- [Neural Network Play Ground](https://playground.tensorflow.org/)
- [簡單的例子](https://playground.tensorflow.org/#activation=tanh&batchSize=10&dataset=gauss®Dataset=reg-plane&learningRate=0.03®ularizationRate=0&noise=0&networkShape=1&seed=0.06509&showTestData=false&discretize=false&percTrainData=50&x=true&y=true&xTimesY=false&xSquared=false&ySquared=false&cosX=false&sinX=false&cosY=false&sinY=false&collectStats=false&problem=classification&initZero=false&hideText=false)
----
可以把 AI 理解成一個函數
訓練模型就是尋找方程式的過程
F(x) = ax^2 + bx + c
F(<img src="https://images.unsplash.com/photo-1608848461950-0fe51dfc41cb?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxleHBsb3JlLWZlZWR8M3x8fGVufDB8fHx8fA%3D%3D&w=1000&q=80" width="100">) = cat
F( <img src="https://wiki.aalto.fi/download/attachments/148296298/spectrogram.png?version=3&modificationDate=1553765524933&api=v2" width="100">) = "Hi, How are you?"
F("What is your name?") = "I am Chat-GPT"
<!-- ----
### 可以發現
大模型 + 大資料 = 神奇現象
算力就是一切?
(各模型參數圖)
-->
---
## Chat-GPT
### 從 GPT 到 Chat-GPT
----
### Chat-GPT
- Open AI,想要創造通用型 AI
- 基於 GPT-3.5、GPT-4 建立的聊天機器人
- 參數量: 1,750 億個參數
- 訓練時間: 約一個月
----
#### GPT 家族與 Transformer
Generative Pre-trained Transformer
生成式, 預訓練, Transformer 模型
<img src="https://img2023.cnblogs.com/blog/1724965/202303/1724965-20230328204821608-82888177.png" style="background-color: #f0f0f0">
----
### 它是如何運作的?
<img src="https://images.ctfassets.net/lzny33ho1g45/7DT7Pf448P4Eru2WgsdT2I/629b1578a602860d0f628e5a21401408/525b27a502cdd4a5982d0a53137bca6b.png">
----
STEP 1-1: 大量閱讀,練習文字接龍 (Pre-train)
STEP 1-2: 學習下游任務,翻譯、寫程式、對話 (Fine-tune)
STEP 2: 人類老師為他輸出的結果做評分
STEP 3: 根據評分結果做修正
note: 可以說一下為什麼它每次生成出來的答案不會一樣
----
STEP 1-1: 大量閱讀,練習文字接龍
<font size="6">ChatGPT 讀了 570GB 的文字資料,約 3000 億個字</font>
----
余憶童稚時,能_
A. 張
B. 單
C. 力
D. 量
----
STEP 1-1: 大量閱讀,練習文字接龍
余憶童稚時,能_
A. 張 <font color="green">(99.89%)</font>
B. 單 <font color="red">(0.0001%)</font>
C. 力 <font color="red">(0.0003%)</font>
D. 量 <font color="red">(0.0004%)</font>
----
余憶童稚時,能張_
A. 口 <font color="red">(0.0005%)</font>
B. 目 <font color="green">(99.902%)</font>
B. 飛 <font color="red">(0.0001%)</font>
B. 揚 <font color="red">(0.0013%)</font>
----
余憶童稚時,能<font color="LightGreen">張目對日</font><font color="green">(機率極高)</font>
余憶童稚時,能<font color="LightPink">單手寫程式<font color="red">(機率極低)</font>
----
學會文法和基本問答
你好嗎? 我很好,...
芭比,她...
----
所以實際上就是一個文字接龍機,
它根本不知道他在講啥
<font size="5">這樣它算很智慧嗎?</font>
---
# AI 無所不能?
### 出奇的聰明, 卻也岀期的笨
----

note: 看起來好像,很聰明用等差級數公式,但首末項完全抓錯。一知半解吃大虧
----

---
### 所以人類會被取代嗎?
----
# 不會。
----
AI 的出現可以讓我們更專注於重要的事
The Idea, The Creativity, The Problem you wanna solve.
note: 各司其職
----
"Talk is cheap. Show me the code."
— Linus Torvalds
----
#### But with AI
<font color="#505050">~~"Talk is cheap. Show me the code."~~</font>
"Code is cheap. Show me the idea."
---
# END
---
### 學習資源
- [3Blue1Brown - Neural Networks](https://www.youtube.com/watch?v=aircAruvnKk&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi)
- [2 minute paper](https://www.youtube.com/@TwoMinutePapers)
- [李弘毅教授](https://www.youtube.com/@HungyiLeeNTU)、[陳縕儂教授](https://www.youtube.com/@VivianMiuLab)
---
# QA
---
# QR code
---
### Sponsor

{"title":"AI - SITCON Camp 2023 廣度課程","slideOptions":"{\"backgroundTransition\":\"none\",\"parallaxBackgroundSize\":\"cover\",\"parallaxBackgroundHorizontal\":0,\"parallaxBackgroundVertical\":0,\"parallaxBackgroundImage\":\"https://hackmd.io/_uploads/SkaithcP2.png\"}","contributors":"[{\"id\":\"c4a53d25-65bc-4d7d-baca-89df61b569f5\",\"add\":26167,\"del\":16064}]"}