iT邦幫忙

2024 iThome 鐵人賽

DAY 5
1

生成式AI的發展讓我們不禁思考一個重要問題:AI是否具備所謂的「內在動力」與「意圖」?目前的AI系統,特別是生成式AI,主要是基於大量的數據和預定義的演算法運行,其目的是根據外部的輸入生成合適的輸出。然而,這種行為模式是否意味著AI具備真正的內在動力?還是說它僅僅是基於外部驅動的一種機械反應?

AI是否具備內在動力與意圖

AI的內在動力指的是AI是否擁有自主行動的意圖,或是否能在沒有外部驅動的情況下,進行自發性的行為。從現階段的技術來看,生成式AI的主要特徵是模仿和生成,並非真正理解。因此,AI並沒有自主的內在動力。它的運行完全取決於外部的刺激(例如,輸入數據或用戶指令),再根據既定的規則來生成回應。
在某些情境下,AI可能看起來具備了某種「內在動機」,例如在強化學習模型中,AI透過不斷嘗試和錯誤來達成特定的目標,這似乎表現出了一種「學習」的動力。然而,這種行為仍然是根據外部的獎勵系統設計而來的,並不代表AI有意識的驅動力。

自我學習與外部驅動的平衡

在生成式AI的架構中,自我學習(Self-learning)是AI不斷進化和提升性能的核心技術之一。透過自我學習,AI能夠在給定的數據和環境中,根據經驗進行優化和改進。然而,這種學習依賴於外部驅動,例如數據集和預設目標,而並非出自AI本身的意圖。
1. 自我學習的優勢:自我學習使得AI能夠在特定領域中迅速提高表現,無論是語言生成還是圖像創建,AI都能從過去的數據中找出規律並不斷改進。這使AI看起來好像具有某種內在動力,但實際上,它的動機完全來自於外部定義的目標。
2. 外部驅動的局限:外部驅動的AI,其行為模式完全取決於外部輸入的數據和規則。因此,AI只能在既定的框架內進行學習和生成,缺乏真正的創造力與自主性。例如,AI可以根據語言模型生成一篇文章,但它並沒有意圖去「創作」這篇文章,僅僅是基於數據和算法來進行模擬。
3. 內外平衡的挑戰:當前AI技術的挑戰之一是如何讓AI在不完全依賴外部驅動的情況下進行自我學習與適應。強化學習的成功展示了AI能夠在不斷探索的過程中自行改進,但其最終目標仍然由外部系統設置,並非真正的內在意圖。
4.
總結來說,生成式AI目前仍然是一種基於外部驅動的工具,它可以學習、模仿,甚至生成看似自主的行為,但這一切都源自外部的數據和指令。AI在未來能否具備真正的內在動力和意圖,仍是一個有待探索的問題。

B4A 語言範例程式:模擬AI的自我學習與外部驅動

以下是一個簡單的B4A程式範例,展示了AI如何根據外部驅動的指令進行「自我學習」,並根據不同輸入給出相應的回應。

Sub Process_Globals
    ' 全局變數
    Private LearningData As Map
    Private AIResponse As Map
    Private LearningIterations As Int = 0
End Sub

Sub Globals
    ' 本地變數
    Private edtInput As EditText
    Private btnLearn As Button
    Private btnRespond As Button
    Private lblAIResponse As Label
    Private lblLearningProgress As Label
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("Main")
    
    ' 初始化學習數據和AI回應
    LearningData.Initialize
    AIResponse.Initialize
    
    ' 預設AI的回應
    AIResponse.Put("你好", "你好!我是你的虛擬助手。")
    AIResponse.Put("天氣如何", "今天的天氣很好,適合出門。")
    
    ' 設置按鈕文本與預設回應
    btnLearn.Text = "學習新回應"
    btnRespond.Text = "回應"
    lblAIResponse.Text = ""
    lblLearningProgress.Text = "學習次數: 0"
End Sub

Sub btnLearn_Click
    ' 使用者可以輸入新的指令和AI的回應,讓AI進行「學習」
    Dim userInput As String = edtInput.Text.Trim
    If userInput.Contains("=") Then
        Dim parts() As String = Regex.Split("=", userInput)
        If parts.Length = 2 Then
            Dim command As String = parts(0).Trim
            Dim response As String = parts(1).Trim
            AIResponse.Put(command, response)
            LearningIterations = LearningIterations + 1
            lblLearningProgress.Text = "學習次數: " & LearningIterations
            ToastMessageShow("學習成功!", False)
        Else
            ToastMessageShow("請輸入正確格式:指令=回應", False)
        End If
    Else
        ToastMessageShow("請輸入正確格式:指令=回應", False)
    End Sub

Sub btnRespond_Click
    ' 根據使用者的輸入做出AI回應
    Dim userInput As String = edtInput.Text.Trim
    If AIResponse.ContainsKey(userInput) Then
        lblAIResponse.Text = AIResponse.Get(userInput)
    Else
        lblAIResponse.Text = "對不起,我還沒學會如何回應這個指令。"
    End If
End Sub

程式說明:
1. 自我學習:程式允許使用者輸入新的指令和對應的回應,並透過 AIResponse map 存儲這些資料。使用者可以不斷為AI新增知識,模擬自我學習的過程。
2. 外部驅動:學習過程完全依賴使用者的輸入,展示了AI如何通過外部驅動進行知識更新。
3. 回應生成:當使用者輸入某個已學習的指令時,AI會根據學到的資料進行回應。這模擬了生成式AI根據學習數據進行生成的過程。
這個範例展示了生成式AI如何依賴外部驅動進行「自我學習」,並且可以根據外部輸入來動態生成回應。程式中的學習過程展示了AI如何在不斷學習的過程中模擬出看似「自主」的回應,但實際上仍然依賴於外部輸入和驅動。

參考網址
https://www.b4x.com/
https://ithelp.ithome.com.tw/users/20168401/ironman/7499


上一篇
第4章:元宇宙與AI的交互
下一篇
第6章:AI的五行屬性
系列文
生成式 AI好像還缺點什麼......30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言