官术网_书友最值得收藏!

7.3 前向傳播算法實現及其和TensorFlow的算法對比

接下來總結一下盤古人工智能框架前向傳播算法的實現:

盤古人工智能框架使用前向傳播算法實現前向傳播的預測效果,這和TensorFlow可視化圖的運行效果是一樣的:在TensorFlow中輸入數據,然后提取特征,經過隱藏層計算,到達輸出層。Neuron_Network_Entry.py的輸入數據是實例集,該實例集是二維數組,當然也可以使用外部文件,用一個函數讀取文件里面的數據;也可以將二維數組的狀態變成矩陣的狀態,因為盤古人工智能框架開始時沒有使用矩陣。輸入數據以后提取特征,這里的特征是將第一列和第二列進行異或操作,只有第一列元素和第二列元素不一樣的時候,第三列才是1。盤古人工智能框架強大之處在于預先并不知道第三列的值,是根據第一列、第二列的關系進行計算,將預測結果和實際結果進行對照,然后調整第一列、第二列,逐漸凸顯第一列和第二列的關系,最后得出一個預測結果。預測結果趨近于實際值,如圖7-7所示。

圖7-7 前向傳播的運行效果

TensorFlow的可視化圖中,從左到右,先在輸入層提取特征(CNN框架能自動提取圖像的特征,這是深度學習帶來最大的便利之一,傳統的機器學習很多時候無法自動提取特征,而提取特征是過去機器學習工程最消耗時間的地方,性能調優等只是業界固定的最佳實踐);然后進入隱藏層,可以使用3個隱藏層,也可以使用2個隱藏層(前面我們分別演示了有3個隱藏層、2個隱藏層、1個隱藏層的情況,有3個隱藏層時神經元的個數是[8,4,2],有2個隱藏層時神經元的個數是[4,2],有1個隱藏層時神經元的個數是[3]);最后到達右側的輸出層,得到一個結果。

不同隱藏層的計算速度和精確度是不一樣的。深度學習另一個幾乎完勝其他機器學習算法的地方在于隱藏層,由于隱藏層的存在,深度學習的算法遠遠超越了機器學習的算法。深度學習的兩個巨大優勢:一是特征的自動提取,因為特征提取對人而言是最繁重的體力勞動;二是隱藏層帶來的訓練效果遠遠比機器學習的效果好。基于這兩點,讀者就不應以普通的機器學習算法作為目標,而要以深度學習作為目標。

主站蜘蛛池模板: 巴南区| 钟祥市| 霍林郭勒市| 英吉沙县| 沂源县| 广汉市| 昭觉县| 三亚市| 宁明县| 安龙县| 临高县| 特克斯县| 乌拉特前旗| 遂昌县| 牙克石市| 佛教| 巴青县| 苍溪县| 达日县| 长顺县| 鸡西市| 玛纳斯县| 永康市| 萨嘎县| 新丰县| 寿阳县| 新闻| 莲花县| 乐东| 威远县| 伽师县| 咸丰县| 鹤庆县| 公安县| 轮台县| 庄浪县| 华安县| 宜宾市| 仁化县| 高陵县| 呼玛县|