一、計算機和人相互依存
當今社會,計算機在我們的生活和工作中扮演著重要的角色,人類使用計算機幫助他們進行大量的計算,通過計算機讓每個人相互通信等等。但時代的進步讓我們對計算機的要求越來越高,人類希望它能夠從事越來越復雜的工作。乍看計算機進行計算以及通信工作的原理好像很復雜難懂,實際上計算機能夠進行這些工作是因為人們已經給它設定好了程序,計算機只要按照這些程序規范執行就好了,這是一種單向的工作模式,這種情況下,計算機是完全不會“思考”的,只知道按程序執行指令,而我們卻想賦予計算機思考的能力,這便是人工智能的起點。
圖1.1.1
我們希望計算機“思考”什么呢?比如,我們希望計算機能夠幫我們識別出圖片中動物是貓還是狗,幫我們對于圖片中存在各種物體做標識,幫我們翻譯一段文字,或者幫我們分析一段話或者一段句子中蘊含著說話人的什么情感等等。這些工作對人類而言非常簡單,甚至一個2,3歲的孩子也完全可以很好的分辨出一張圖片中的動物是貓還是狗,但這些對于計算機而已,卻是非常困難的,因為計算機不會“思考”,它不明白什么是狗,什么是貓,除非我們訓練它去認識狗和貓,這便是后來的機器學習。
二、 我們的神經細胞
要想計算機學會“思考”,首先來看看人類是如何思考的。
生命是神奇,美妙,復雜的,這種復雜程度不知道是計算機系統的多少倍,人類能夠思考并從事各種各樣的復雜的工作,是因為我們身體內部微小的神經細胞起著作用。
神經細胞也叫神經元,它的功能是接受某些形式的信號并對之做出反應,比如傳導興奮、處理并儲存信息以及發生細胞之間的聯結等。正因為神經元的這些功能,才能使得人和動物能夠對外界環境的變化做出反應。毋庸置疑,越高級的動物,神經元的個數和神經元之間的連接越復雜。
圖1.1.3神經元由樹突、胞體、軸突、髓鞘、神經末梢等組成。樹突接受信息,并轉換成電信號,軸突傳輸電信號及處理等,神經末梢對信息進行反應。一個神經元完成了一個簡單的信息接收,處理,輸出的基本動作。人工智能專家們就從這里得到啟發,開始了人工智能模型——“神經網絡”的研究。
三、人造神經元
哲學告訴我們,世界上的萬物都是聯系的。生物學的神經元啟發我們構造了最簡單原始的“人造神經元”。下圖中的圓就好比一個神經元,它接受外部輸入,在圓內進行簡單或復雜的處理后形成輸出,在神經網絡中我們稱之為感知機。
圖1.1.4
神經元是人體神經系統的基本結構和功能單位,是無數個神經元相連而成(如下圖1.1.5所示),這是一個非常復雜的網絡系統。神經元間聯系方式是互相接觸,而不是細胞質的互相溝通。接觸部位的結構特化稱為突觸,通常是一個神經元的軸突與另一個神經元的樹突或胞體借突觸發生機能上的聯系,神經沖動由一個神經元通過突觸傳遞到另一個神經元。
同理,從人體神經系統的構成可以進一步創建更加復雜的人造神經系統,比如我們讓多個人造神經元(感知機)相連接,便形成了人工智能里面聲稱的“神經網絡”。如下圖所示,一個圓圈代表一個神經元,黃色的第一層稱為輸入層,藍色的第二層稱為隱藏層,隱藏層可以有多層,綠色的第三層稱為輸出層。
這僅僅是幾個神經元相連構成的簡單網絡,想想人類大腦1000億個神經細胞錯綜復雜的關聯在一起,是何等的復雜和繁忙,它們不停在處理信號,發出信號,讓我們能夠思考和從事各種工作,如果換成上萬個人造神經元相連,你覺得計算機可以做更加復雜的工作嗎,答案是肯定的。
四、由神經元聯想到分類器
現在我們需要神經元來幫我們處理一個信息,把10加侖(gallon)的汽油換成以升(L)為單位的汽油。對于加侖和升兩種單位,國際上有標準的換算比例,1加侖=3.785412升,我們可以用一個公式來表示,即G=3.78L或者y=3.78x,通過公式,我們可以簡單的換算就知道答案,這個難不到讀過初中的你。再仔細看看,y=3.78x不就是在坐標系中過原點的一條直線嗎?3.78是直線的斜率。
接著我們用神經元來進行學習換算(忽略一下激活層),如下圖1.1.7,神經元的輸入為x,我們給輸入x賦了一個權重α,最后經過神經元的計算,得到輸出y。
圖1.1.7
在神經元的計算中,最重要的一步是必須知道權值α,才能得到輸出y,怎么換算呢?首先,正真的值應該是37.8升,核心就是神經元把正確答案37.8的和它預測的答案來對比著不斷學習改進!第一步,先像人一樣猜猜看,假設α=3,則神經元預測值y′=30升。
“這與實際值有差異吧,誤差為37.8-30=7.8升;哦,我明白了!”神經元繼續想著下一個計算。
“再計算一次我肯定能減小誤差,讓α=3.5吧”,這一次預測值為35升。
“第二次計算誤差為37.8?35=2.8升,哈哈誤差在不斷縮小,也許下一次計算就接近真實值了!”
“這次我讓α=4,哦,糟了,預測值為40升,與實際值的誤差為37.8?40=?2.2升,過了!”
“好吧,我知道怎么調整了......”
神經元就這樣從誤差中不停的學習,最后輸出的值越來越接近真實值,這無疑是一次成功的訓練!
五、分類器
現在我們有兩堆豆子,豆子的特征如下表所示,我們想通過計算機預測一下哪一種是黃豆,哪一種是蠶豆。對于識別兩種不同種類的物體,人類眨巴眼就可以很容易的分辨出來,但計算機怎么分辨?是否有解決方案,答案是肯定的。
表1.1.1
我們用坐標來直觀的可視化這些特征,如下圖1.1.8所示。兩種豆子的長寬分別落在一定值范圍內,他們有明顯的特征,分布在坐標中的不同區域。
如果我們想分類這兩種豆子,最好的辦法是什么呢,當然是在中間劃一條線了!在線的上面是蠶豆,線的下面是黃豆,如下圖1.1.9所示。這樣的線在數學中是一條線性線段,在神經網絡中被稱為分類器。只要計算機能給出一條最合理的分類線(最優的分類器),那么計算機就完成了分類任務,也就意味著計算機可以認識豆子了!哈哈,居然這么簡單!
你或許會問,這種線太多了,比如下面圖1.1.10(a)就不是一個很好的分類器,它完全沒有把黃豆和蠶豆分開,圖(b)也未能把兩種豆子分開,或許圖(c)應該不錯,它把兩種豆子很明顯的分類開了,但圖(c)的分類器并不一定是最優的分類器,一個分類器如何優化,這取決于黃豆和蠶豆樣品輸入的特征值來刺激分類器進行不斷的優化。
怎么才能找到最優的一條線呢?這正是分類器內部需要做的工作,它通過一系列的計算,找出最優的線性線段,也就是我們的最優分類器。反觀我們的神經系統,人體神經元也是通過樹突接收信號,在細胞質中經過處理后通過軸突傳到其他地方的,以上的人工神經元換算加侖和升不就是這樣的嗎?
原來,神經元和分類器如此類似!
But!這里強調一下,人體神經系統中神經元要收到信號,并不是馬上就傳導,而是要在信號刺激較達到一定閾值時候才開始處理信息并把信息傳導出去,而在人造神經元中,信息的處理和傳播也是如此,這樣說來,神經元并不僅僅就是第一節中圖1.1.4所示的一個圓圈,而是還有一層激活,信號達到一定閾值,激活層才能處理信息,并輸出。如下圖1.1.11所示。
圖1.1.11
因此,如果把神經元看成一個黑盒的話,這個黑盒應該包括了上圖中的第一個計算器和第二個激活層,而激活層中是些什么東東呢,下一節我們會詳細講到。
六、分類器解決所有二分類問題嗎
上面的線性分類器可以有效的進行二分類,在實際應用中我們也經常使用到,但是這種分類器一定就很強大嗎,有沒有它完成不了的分類呢?當然,萬事萬物都有局限性,我們引入幾個邏輯門來闡明一下這種局限性。
我們曾經在邏輯電路中學過與門,或門,與非門,或非門,異或門等幾種基本原件,如下圖1.1.12,這些原件組成的電路構成了最早的計算機。雖然這些原件的名字聽起來太理工科了,但是我們可以換個方式來理解這些生硬的器件,比如,兒子想看動畫片,與門表示完成作業和吃完飯兩個條件均滿足才能看動畫片;或門表示,只要完成作業或者吃完飯兩個條件其中有一個滿足就可以看動畫片等等,對照表1.1.2,你可以更容易地去理解。
圖1.1.12
繼續觀察這些邏輯門均有兩個輸入,一個輸出,輸入我們可以用1或0表示,輸出也可以用1或0表示,實際上計算機也就是通過0和1來處理信息的,計算機把0視為假,1視為真,并把0和1組成的一系列信息經過處理,得到一個輸出?,F在,我們把這些邏輯門視為幾個邏輯函數,這些函數的輸入輸出是什么關系呢,我們用下表1.1.2表示。
同時,我們把表格中前四個邏輯函數用坐標來觀察一下,規定同輸出且輸出為1的坐標用紅色表示,同輸出且輸出為0的坐標用綠色表示,如下圖1.1.13所示??梢钥吹?,所有相同的輸出均可以用一個分類器來進行分類,也意味著分類器均可以很好的學習,這是我們希望看到的,并且分類器也做得很好。
緊接著我們看看最后一個邏輯函數——異或邏輯,糟糕!一個分類器根本沒辦法進行正確的分類,我們不希望看的事發生了,它無法解決這個有趣的問題,但我們希望計算機再智能一點,能夠幫助我們進行正確的分類。有解決方法嗎?仔細想想其實不難,再增加一個線性分類器怎么樣?如圖1.1.15所示,Yes!這達到了我們想要的效果。
在實際應用中,我們可能會遇到各種奇怪但有趣的問題,讓不同的分類器或者多個分類器一起工作,這是神經網絡的核心思想。
圖1.1.14 圖1.1.15分類器的局限性好像與我們后續的神經網絡關系不大,但事實并不是如此,因為神經網絡的一個重要設計特征就來源于對這個局限性的了解。神經網絡并不僅僅就是解決一些簡單的問題,實際問題會復雜很多,對于各種有趣的情況我們均討論一下,對于后續的深入學習會有很大的幫助。
-
神經網絡
+關注
關注
42文章
4777瀏覽量
100961 -
人工智能
+關注
關注
1792文章
47514瀏覽量
239248 -
深度學習
+關注
關注
73文章
5510瀏覽量
121347
發布評論請先 登錄
相關推薦
評論