創意的夥伴?競爭?
每個人對人工智慧的定義都不一樣. 有人覺得要有思考能力, 有人覺得要能計畫且執行. 所以”人工智慧”是很抽象的. 如果真的要定義人工智慧, 通常把它視為是一個目標.
而”生成式人工智慧”定義就明確許多. 可以把它視為經由複雜的處理過程, 模仿人處理過程, 產生實際的結果. 例如利用機器幫我寫個報告, 畫張圖, 寫首歌(作曲作詞)等.
換個方式來解釋, 什麼不是生成式人工智慧. 例如: 垃圾郵件篩選器, 良品瑕疵品分類等. 像這種選擇, 分類的問題就不是生成式人工智慧.
目前生成式人工智慧的應用有:
- 報告生成, 通用型助手: ChatGPT 4o, Claude 3, Gemini 1.5 pro, LLaMA 3, etc.
範例:
- 畫圖 : DALL-E, Midjourney, Leonardo.AI, etc.
範例:
- 音樂: Google Music FX, Riffusion, etc.
範例:
如果以涵蓋的範圍, 人工智慧沒有特定目標或方法(涵蓋範圍大), 生成式人工智慧目標明確, 例如: 生成報告, 影像或音樂等. 是人工智慧所涵蓋的應用之一.
機器學習? 生成式人工智慧?
在說明生成式人工智慧前, 我們先說機器學習(Machine Learning)的概念.
機器學習可以看作是機器自動從一堆資料中(專家標註哪些資料是重要的)找出適當的函式和參數
- 你輸入一大筆資料
- 機器幫你找出適當的函數
- 機器自動幫你找出適當的參數
舉例:
假設機器幫你選了 y=f(x)=ax+b 為適當函數
從資料中帶入x=4, y=5;x=2, y=-1
最後得到這個函式的的參數為a=3, b=-7
以後你輸入的需求(新的”X”), 就可以得到對應的回覆(y).
這裡會有的問題是為什麼需要機器學習來找適當的函式和參數?
舉個例來說明:
題目: 輸入一張貓或狗的圖片, 系統要幫我識別出來貓或是狗
從上例可以看到,
- 人類是是無法找到適當的函數.
- 人類無法算出上萬個參數.
這就是需要機器學習幫忙的原因. 另外, 各個步驟中, 紅色框部份是在機器學習及AI相關議題中常見的專有名詞
模型: 含有大量參數的函式
訓練資料: 在尋找參數過程中所輸入的資料
學習(Learning), 訓練(Training): 找參數的過程
推論(Inference), 測試(Testing): 新輸入一隻狗的圖片, 看輸出是否為狗?
以上就是機器學習的基本概念.
通常我們會將上述含大量參數的函式使用類神經網路來處理, 而使用類神經網路來找出大量參數的過程, 稱為深度學習. 而深度學習是機器學習方法的其中一種. 而今日生成式人工智慧大多是用深度學習來達到目標.
我們一再提到生成式人工智慧需要大量的資料量跟函數, 下圖是ChatGPT 1,2,3版本所需的參數和訓練資料量, 就可以看出今日的語言模型所使用的參數量(parameters)和訓練資料是有多龐大.
做個總結:
人工智慧: 大範疇, 目標抽象.
生成式人工智慧: 人工智慧一種應用, 目標明確.
機器學習: 使用在人工智慧或生成式人工智慧的技術.
深度學習: 一種機器學習技術, 使用類神經網路. 生成式人工智慧大多以深度學習來達到目標.
如何做到的?
目前這些生成式人工智慧應用,簡述下如何利用深度學習來達到目標.
- ChatGPT (Generative Pre-trained Transformer)
- ChatGPT 也是一個函式, 這個函式所含的參數會上億或兆以上.
- ChatGPT使用Transformer(也是類神經網路)這個模型來找龐大參數.
如圖:
3. 輸入很多成對的問題及答案訓練, 將上億以上的參數找出.
4. ChatGPT要能回答知識庫以外的答案, 不見得正確. 但會隨著人所給得正向及負向回饋愈來愈好.(紅色圈部份:rewarding)
如圖:
以下是問ChatGPT, 如果問題不在訓練資料內, 它們是如何知道答案.
從上面的回應可以知道, 它會利用已知的知識來推理. 但並非完整的創造性的思維.
接著概述下ChatGPT學到這些知識的過程並使用人類習慣的方式來回答問題.
- 從網路上學習大量的資訊, 作文字接龍. (自督導式學習: Self-supervised Learning)
2. 因為網路上的資料品參差不齊, 專家來模擬問題及答案, 讓GPT來學習. (督導式學習: Supervised Learning)
3. 因為人來教資源是有限的, 且不能時時刻刻的教. 所以訓練一個AI 老師吧.
4. 讓ChatGPT跟AI 老師學習, 使用增強式學習(Reinforcement Learning: RL). 並對每一次的回答作評分. 讓GPT依據分數調整參數, 期待每次的回答都能得到高分.
整個訓練過程需要提到的是, 在最後一步加入增強式學習(Reinformant Learning)會使GPT對整個產生的答案的好壞做調整, 而不是只有專注在把文字接龍的每個字要選好.
- DALL-E, Midjourney, Stable Diffusion, etc.
這些以文生圖的AI工具也是個函數, 而訓練資料就是讓機器學習輸入一段文字和輸出對應的圖, 來找出上億的參數.
而圖的生成策略是否也可以像ChatGPT一樣用文字接龍的方式呢? 答案是可以的. 圖的產生是可以用像素接龍的方式來產生 (Image GPT). 但因為所需生成時間太長, 不是目前主流使用的模型.
範例: Image GPT (Open AI release on 2020y)
生成策略是將輸入照片二維轉換成一維的pixel by pixel, 利用GPT一樣的架構, 只是文字換成像素來接龍, 而結果要接近下方給的目標. 有興趣可以參考這個網址.
https://openai.com/index/image-gpt/#samples
之後再分享有關文字生成圖利用”Diffusion” 模型來生成圖的生成原理.