庫克教授也不管自己只是個所長,直接就蓋棺定論了。
所謂“神經網路式演算法”,庫克教授十幾年前就有涉獵,相比於80年代以來的其他“np窮盡理論”而言,其最大的特點是“沒有運算核心”。
用人體來舉例,人作為一個生物個體而言,是有中樞神經的絕大多數機體行動,都是大腦控制肢體,眼口耳鼻手足感知到了外部訊號之後先要透過反射弧傳遞到大腦(部分最低階的反射,至少也要到延髓/脊髓處理)等大腦作出處理指令之後,手足才會作出反應。
但是如果把大腦單獨作為一個獨立個體解剖開來看,大腦內部上千億個神經元是平等的。並不存在“某一小撮神經元高於其他周邊神經元、從而在處理資訊時先由這一撮神經元預處理、預處理完之後再交給下一撮神經元處理”這樣的先後順序。
(神經網路當然還有其他很多基礎特點,這裡僅僅討論和“遺傳演算法/退火演算法”的主要區別,所以不多贅述了。否則能水幾萬字,大家還看不懂。)
當年“神經網路”的概念被提出時,就是為了探討一種讓電腦高效處理類似於“找到禮堂裡到底有沒有我認識的人”問題的新方法:如果可以有多個電腦,自然隨機地分配任務,並行從多個點開始用就近演算法尋找,那麼自然可以在“單核cpu”效能比較弱的情況下,透過堆砌cpu數量加快問題的解決速度。
但這個概念並沒有“節約計算資源”,因為理論上它只是把“1臺電腦10小時工作量”變成了“10臺電腦1小時的工作量”而已。而且這種最原始的“神經網路”也依然沒法解決那些“似是而非”的模糊問題他們只能回答“有我認識的人/沒有我認識的人”這種非此即彼的問題。
庫克點名了在這個領域讓顧誠對其應用模型說出個子醜寅卯來,顧誠自然不能避戰。
“我拜讀過辛頓教授對於神經網路的最新模型假說,卷積神經網路,以及與之配套的學習型演算法。我認為這個東西可以和網際網路的自動識別/索引工具相結合。至於具體的應用場景麼……那就屬於商業機密了,恕我無可奉告。”
“卷積神經網路的新用法?”
史蒂芬。庫克教授一愣,但很快冷靜下來,他可不是一個概念就能忽悠住的。
“看來,顧先生要論述的重點,就在於‘卷積’上面了?”
“沒錯,如果沒有‘卷積’,僅有‘神經網路’,我們依然沒法討論近似於人腦判斷的模糊問題。”顧誠一副成竹在胸的樣子,似乎對對方的反應早有預判。
他開啟電腦,接上投影儀,螢幕上出現了一張貓的圖片。
“我用圖上這隻貓舉例子儘管這隻貓一隻耳朵豎著一隻耳朵折了,眼珠瞳孔也有點不正常,尾巴還特別短,毛色骯髒還和照片的背景色非常接近,但我作為一個人類,還是一眼就認出了這確實是一隻貓。
現在,我用我根據辛頓教授的閥值思想編寫的自學程式,用機器對這隻貓是否是貓進行初次預判。在這個演算法裡,我們預構了30個組合特徵量,比如‘貓眼’、‘貓耳’‘貓毛’、‘貓尾’……然後用三十個神經元單位的處理資源,分別針對每一個組合特徵量進行預判,然後分別給出結果。
在這三十個神經元單位內部,我們再根據‘本圖貓眼與本神經元見過的貓眼’之間的畫素相似度作出判斷,給出一個積值,從而得到‘這有85%機率是一隻貓眼’或者‘有70%機率是一隻貓耳’之類的參考量。最後,把這30個組合特徵量按照預設1:1的權重進行組合,最終平均分高於60分就判定‘這是一隻貓’。”
“那成功率肯定很可憐。”庫克教授聳聳肩,一臉的悲憫。
“當然很可憐,因為我的實驗才開始呢做到這一步,並不是要讓機器判斷正確,而是在機器判斷完之後,讓人眼再複查一遍。如果機器和人的判斷結果一致,那麼就給目前的特徵量分組方式和每個特徵量的權重比例陣列加1分。
然後,再判斷下一次。如果還對,再加一分。直到判斷錯了,然後就自動對現有權重比例陣列作出調整:比如,此前判斷正確的兩次‘平均分60分’的結果中,‘貓眼’得分分別是75和80分,而‘貓耳’得分是45和40分。而判斷錯誤的那一次‘平均分60分’的結果中,‘貓眼’是50分‘貓耳’是70分。那麼,我們就可以得出一個結論:決定貓是否長得像貓的所有特徵變數中,‘貓眼’是比‘貓耳’更關鍵的變數,在計算綜合分的時候應該提升其權重。