來源#
本來是要在班裡演講,因為期末考試被迫停止 QAQ
留個紀念(
正文#
有人說,2023 年是人工智能元年。因為 OpenAI 公司在 2022 年 11 月 30 日公開發布了 ChatGPT。從此,人們得以通過與 ChatGPT 對話的形式,直接了解到人工智能帶給我們的便利。而如今已是 2024 年,相信大家對 Chatgpt 都有了或多或少的了解,或是從網絡媒體的報導,或是從語文作文,抑或是從英語閱讀中。但大家是否想對其有更深入一點的理解呢?今天就讓我們從 chatgpt 出發,了解其背後的原理,在進一步去探索一下背後的神經網絡的基本模式。
讓我們先從 Chatgpt 的名稱開始說起吧。Chatgpt 全稱:Chat Generative Pre-trained Transformer,意為生成式預訓練 Transformer。生成式,即指 Chatgpt 是一個用來生成新文本的機器人。“預訓練”,指模型經歷了從大量數據中學習的過程。而關鍵是最後一個詞,transformer,這是什麼?其實它是一種特殊的深度學習模型,一個神經網絡。是 Google 在 2017 年發布的一篇論文《Attention Is All You Need》中提出的一個架構。Chatgpt 就是基於 Transformer 模型進一步修改得來的。
那麼深度學習是什麼意思呢?深度學習是機器學習的一種,而機器學習採用數據驅動,反饋到模型參數,指導模型行為。可能有點難懂啊。這裡的模型,其就是一個廣義上的函數,即映射。而神經網絡指的是這個函數內部的實現方式。一會會介紹。繼續說機器學習。比如說,一個可以給圖片加標籤的函數,fx,輸入 x 是圖片,而輸出 fx 即為標籤。機器學習的核心理念就是,不要在代碼中定義任何行為,而是去構造一個有可調參數的靈活函數,然後拿著大量的例子,去讓機器調整各個參數,以模仿這種表現。其實有點像數學裡的待定係數法。
了解了 Transformer 模型,我們再來簡單地看一下 Chatgpt 的原理。如果用一句話去概括,就是:以前面所有的文本為基礎,預測出現頻率最高的下一個詞,來實現文本生成的。其實有點像搜索引擎的自動補全,我們每輸入一個詞,輸入框就開始預測後面的文本,概率越高的排在越上面。但模型是如何的到每個詞出現的概率的呢?
這就提到了上面所說的 Transformer 架構了。上面說到了,其實 Transformer 就是一個函數。如果拿 f (x) 舉例,它的輸入值 x,即為前面所有的文本,輸出值即為每一個詞的概率。我們都知道,函數,例如二次函數 f (x) = ax^2+bx+c,abc 就是這個函數的參數,對於這個函數來說,參數數量是 3。那么,我們自然想問,對於 ChatGpt 的修改後的 Transformer 架構,它的參數數量是多少呢?大家可以猜一猜。答案是 1750 億個。
為什麼會有這麼多參數,又如何讓機器去調整呢?下面,我們用一個簡單一點的例子,數字識別來理解一下神經網絡。就是這個函數的內部實現機制。
首先,我們必須承認一個事實,其實讓計算機識別數字是很困難的。你的 3 和我的 3 可能大相徑庭。科學家們發明出了一套神奇的東西,即神經網絡去解決這個問題。
顧名思義,神經網絡來源於人的大腦結構。神經中,最重要的就是神經元和神經元的連接方式。神經元可以理解為裝有數字的容器,裝著從 0—1 的數字,稱為激活值。對於識別數字這個任務來說,輸入的每一個神經元對應了圖上的每一個像素的顏色深淺。拿 28 像素 x28 像素的圖像舉例,輸入的神經元就有 784 個,構成了神經網絡的第一層。接著跳到最後一層,有十個神經元,代表 0—9 十個數字,他們的激活值也在 0—1 之間。這些值代表系統認為輸入的圖像對應此數字的可能性。網絡中間還有隱含層,裡面進行處理識別數字的具體工作。
神經網絡運行時,上一層的激活值決定了下一層的激活值。所以說,神經網絡的核心就是上一層的激活值如何算出下一層的激活值。其實,設計出的神經網絡想要模仿生物的神經系統,某些神經元的激發,會導致其他神經元激發。
第一層的激活值會算出第二層每個神經元的激活值,依次往下,直到最後,輸出層裡面最亮的就是神經系統的選擇。所以為什麼要分層?我們其實期待每一層可以特異性識別某些特徵。。。每一層的激活值如何算出下一層的激活值靠的就是 “參數”,比如第一層 784 個神經元的激活值是 a1,a2,a3,…,a784。那么假設第二層有 16 個神經元,每一個 bi,要想由第一層算出來,就要 784 的參數,例如 b1=w1*a1+w2*a2+…+w784*a784。一開始這些值都是隨機的,也別指望電腦能識別出什麼東西。我們要做的就是拿出大量的已經寫好的數字圖片,和對應的數字,每次都 “投餵” 給電腦,並算出電腦做的有多 “差”—— 代價函數,並給出修改參數的 “意見”—— 代價函數的負梯度。經過一次的修改,這些參數一次次的調整,之後遇到新的圖片,神經網絡也可以應付了。
其實,對於我們日常學習來說,有何嘗不是如此呢。及時對自己表現評估。找到最 “高效” 的提升方法加上大量練習,就會一定會自己學習得更好。+ 補充寫一些 QAQ