神經網路的典型工作流程

無論使用何種庫,訓練和使用神經網路的典型工作流程如下:

培訓資料

  1. 獲取訓練資料:X 變數是輸入,Y 變數是輸出。最簡單的方法是學習一個邏輯閘,其中 X 是一個向量或兩個數字,Y 是一個數字的向量。通常,輸入和輸出值是浮點數,因此如果是單詞,則可以將每個單詞與不同的神經元相關聯。你也可以直接使用字元,然後使用較少的神經元而不是保留整個字典。

建築

  1. 定義神經網路的架構:這是通過指定神經元如何連結在一起以及使用哪種演算法訓練和改變神經元之間的連線來完成的。例如,處理文字是使用遞迴神經網路完成的,該神經網路在每個時間步長接收新輸入,並且神經元在時間上參考其早期值以進行有效的計算。通常,使用神經元層,它們通常從輸入到輸出一個堆疊在另一個上。神經元從一個層連線到另一個層的方式變化很大。一些計算機視覺架構使用深度神經網路(堆疊了許多專用層)。

評估

  1. 接下來,通常對尚未直接訓練的資料評估神經網路。這包括將 X 部分的資料呈現給神經網路,然後將它預測的 Y 與真實的 Y 進行比較。存在許多度量來評估所執行學習的質量。

起色

  1. 通常再次使用神經網路的架構來改善其效能。神經網路必須不是太聰明而不是太愚蠢,因為兩種情況都會產生問題。在第一種情況下,神經網路可能對於資料來說太大,完全記住它,並且它可能無法概括為新的看不見的例子。在第二種情況下,如果神經網路太笨(小),它也將無法學習。

真實世界的使用

  1. 在新資料上使用它來預測輸出。實際上,神經網路非常有用,自動文字翻譯或對文字問題的響應都是很好的例子。在這個階段用於改進神經網路的技術之一是線上學習,這意味著如果網路能夠對他的輸出得到建設性的反饋,那麼仍然可以繼續學習過程。例如,谷歌翻譯可能會詢問使用者對翻譯的反饋。