深度解析人工智慧——機器學習、神經網絡、深度學習

這是一個名詞滿天飛的時代。人工智能、機器學習、神經網絡、深度學習等等詞彙,先是在科技圈、慢慢的擴展到普羅大眾的生活圈,鋪天蓋地的出現。

深度解析人工智能——機器學習、神經網絡、深度學習

但相當多的人,甚至一些科技圈內非該領域的人士,面對這些詞彙時,也是一頭霧水,為了更好的理解,我們將逐一進行討論。

Q1:鋪天蓋地的人工智能?到底啥是人工智能?

A:現階段產品端能見到所謂的人工智能,絕大部分指的是機器與人之間擬人的交流方式,主要就是“聽得見、聽得懂,看得見、看得懂”,再進一步,就是好像還能“記點事兒”。其中“聽得見”和“看得見”是硬件解決的,換句話說就是話筒和攝像頭的事兒,所以智能主要體現在“聽得懂”(語音識別+語義理解)和“看得懂”(圖像識別)。大家經常看到的“機器學習”、“神經網絡”、“深度學習”,都是解決這類問題的一些具體的算法。P.S.那篇很火的知乎問答《如何看待谷歌人工智能 AI 擊敗歐洲圍棋冠軍?》就提到了“神經網絡”。

Q2:能解釋一下剛剛提到的機器學習、神經網絡、深度學習的名詞嗎?

A:按照便於大家理解但是並不嚴謹的方式來說,“機器學習”就是統計,在大量數據中統計出來一些具體的參數;“神經網絡”簡單說就是“分級優化”;“深度學習”是機器學習的一個分支,經常和神經網絡一起出現,可以簡單的理解為分級優化中每一級的內容都是

從數據中統計出來。這些名詞我們放在具體的例子中就比較好理解了。

Q3:給我們講講語音識別?

A:我們先從語音交互的第一步,“語音識別”開始。(如圖所示)聲音從源頭髮出(聲源),被話筒接收,轉化成電信號。這個電信號放大來看,是一些連續的波形信號。我們把這個連續的信號截成一小段一小段的,每一小段通過一種方法轉換成一小串數字,這樣才能進行後面的處理。

深度解析人工智能——機器學習、神經網絡、深度學習

轉換的方法是這裡面最重要的一步了。這套規則,可以是依據經驗人為制定的,也可以是通過大量數據的統計,輔助制定和優化的。後面這種方法就是我們所謂的深度學習,我們放到圖像識別裡面講,更好理解一些。

轉換了以後就是一個與標準庫比對的過程了。比如說,現在這個音,轉換完以後是(前半音)XXX XXX XXX XXX +(後半音)YYY YYY YYY YYY,然後標準庫裡面A的發音對應特徵值是XXY YYX XXX XXX+YYY YXX YYS YYZ,B的發音對應特徵值是XXY YYY YYY YYY+YYX YYX XXX YYY,那我們就知道這個音與A更接近(75%),不太可能是B(17%)。

更高級一點,還可以根據先後順序的關係進行匹配,比如按人類的語言習慣,A之後接B的概率更高,接K的概率很低,把這個概率算進去,準確率能進一步提升。

Q4:這個標準庫怎麼來?

A:比如說,你找100個人讀1000次A,然後讓機器把這每一個都轉換成特徵值,總的一起取個平均值,就出來A的標準庫了。這個標準庫是基於大量數據統計出來的結果(取平均值也是一種統計方法),這個過程就像是機器自己聽了很多遍學會了一樣,所以稱為“機器學習”。除了讀音,各種組合的前後關係,也都是統計出來的。

標準庫的建立要儘量的複合實際場景,這樣才能找出更符合使用場景的統計規律,從而達到更精準的識別。高大上的產品,比如說科大訊飛,多年的積累使得其可是支持多種方言,比如說出門問問,能支持幾十個場景。說白了,這個是一個勞動量密集的體力活。大公司,錢多人多,可以做大而全;小公司,有限資金有限工作量,在有限場景下,用戶感知不出來任何區別。

Q5:語音識別和語義理解是什麼關係?

A:可以這麼理解,所謂語音識別,是把音翻譯成字和句;語義理解,則是針對句子,給予反饋。語義理解可以分為兩種類型,一種是命令/數據索取式的,有明確答案的;一種是聊天式的,開放性答案的。

第一種,比如問:北京今天空氣質量如何?答:空氣指數356。這個回答與問題的對應關係,稱之為“規則”。問同一個問題有比較多種問法,為了擴大每一個規則的適用範圍,需要做一些語言結構的拆分重構,主謂賓定狀補,靈活調整。

比如順序的調換:北京今天空氣質量如何?VS 今天北京空氣質量如何?

比如替換同近義詞:北京今天空氣質量如何?VS 北京今天天氣質量如何?

更進一步的,可以增加上下文理解。比如記住上一句話的內容,替換一個下一句話的詞彙。

1層對話像這樣:

問:今天深圳空氣質量如何?答:空氣指數135

問:湖南呢?答:空氣指數356

更高級的還可以有2層對話:

問:幫我在深圳訂一個今晚的酒店。答:好,在幫您預訂

問:空氣質量如何?答:空氣指數135

問:湖南呢?答:空氣指數356

Q6:那聊天式的呢?

A:這種問題的答案通常是開放式的,比如說,問“你在幹嘛呢?”。

這種回答可以是事先人為設定好的規則,常見於一般的寒暄,用戶會發現重複問機器人同樣的問題,每次答案可能不同,比如“我在陪你聊天啊”、“不告訴你”、“你猜”等等,但問的次數多了就開始有重複了。

這種回答也可以是從巨大的真人對話庫中進行搜索得來的,返回出現概率最大的回答。比如說,可以搜索同義的問題,如“你幹啥呢?”,“你弄啥咧?”,然後發現排名最多的回答是“閒著”、“你猜”、“不告訴你”,那機器就會返回這些回答。

一般情況下,這兩種方式在具體的產品中都會使用。具體到小冰,主要是使用的後者,對話庫來源主要是在網絡上爬取的(直接調用MSN信息可能會涉及隱私問題)。考慮到返回結果較隨機,對其的二次理解較為困難,這類聊天機器人通常都是不含上下文理解的。

Q7:結合前面講的語音識別一起總結一下?

A:語音識別,就是一個

積攢數據,進行統計的過程,一個勞動密集型的活兒。語義理解,不管是命令式的,還是聊天式的,除非可獲取優質聊天記錄資源(世界上有這樣數據資源的公司就那麼幾家,當然我也見過有人花錢買人過來陪機器人聊天的),不然就是人工制定

規則的事兒,又是一個勞動密集型的活兒。工作量越大,機器人就顯得越聰明。從公司維度來說,有限場景下,小公司深耕細作,有機會比大公司更好;大公司則能背靠資源,在更多場景下有所覆蓋。

再用最精煉的話總結一下——多少人工,多少智能;就算聊天,也不智能。一般的壁壘就是工作量!語音是收集素材的工作量;語義是制定規則的工作量;在有限場景範圍內,小公司在產品上比大公司沒有劣勢。

最後再提一句,機器學習 = 統計。

Q8:再說說圖像識別?

A:嗯,我們先說最普通的圖像識別是怎麼做的。這裡面我要盜用下Andrew Ng大神在UCLA的一次talk的PPT(視頻截圖)。

深度解析人工智能——機器學習、神經網絡、深度學習

人類在看一個物體時,大部分情況其實主要是看它的輪廓(並不是顏色或其他),所以我們希望機器也這麼做。拿摩托車舉例。第一步,通過圖像處理算法,把摩托車的輪廓提取出來(美圖秀秀類圖像處理工具都有這功能)。第二步,我們把一幅圖分成四份,分別統計0°,45°,90°,135°四種的邊的多少,然後把這些數字列在一起,我們稱之為“特徵值”。這個特徵值裡面包含很多的信息,比如說,右下角的圖中一般都有輪子,輪子是圓形的,也就是說,各個方向的邊,應該都存在且比例相當;而右上角的圖中,一般都有把手,所以某一個方向的邊會比較多。通過這些數字的內在的關係,機器進行摩托車的判別。這樣的方法看起來有些簡單粗暴不合理,但目前許多機器確實就是這麼識別的。

Q9:這確實看起來有點….,那如果加上深度學習和神經網絡呢?

用上深度學習和神經網絡,那就徹底改觀了。

仔細想一下,我們給別人介紹某人的長相時,很喜歡說,這個臉長得特別像誰誰誰,然後髮型有點像誰誰。也就是說,人類是通過一些基本臉型的組合來認人的。數學一點來看,有幾個基本臉,然後一個新的人臉,就可以被簡化成一串數字,每個數字代表某一個基本臉所佔比重。

深度解析人工智能——機器學習、神經網絡、深度學習

那好,基本臉從哪裡來?臉的基礎單元是部位,部位的基礎是邊,形狀,是各種邊的組合。所以要認臉,先找基礎邊。這些邊怎麼找?之前摩托車的例子中,邊是認為定義的(4種特殊角度)。人的設定,要麼是偷懶,要麼就是基於經驗,而經驗是大規模數據在人腦中統計之後得到的印象。如果換成機器自動做這個統計,那就叫機器學習。而這種由樣本進行統計,一級一級的由簡單的邊開始,最終達到基本臉的機器學習(統計)過程,叫做深度學習。

具體來說,從左邊第一張圖,找到所有的邊,再看第二張圖,發現有些邊重複的,就把這個關聯變粗(用粗線表示,線越粗表示重複次數越多)。最終統計下來,有些邊重複次數特別多,是重要的,就作為基礎邊。同樣道理,我們從圖中統計出來基礎邊的重要組合,就是基礎部位,再深一層,就是基本臉。具體的運算過程會比較複雜,對應一種由節點(邊、部位、臉)和節點間連線(粗細表示重要程度)的計算架構和相應算法,這個叫做神經網絡。

Q10:總結一下圖像識別吧?

A:圖像和語音識別,核心都是特徵值轉換算法,即基礎單元&數字表示。深度學習就是指基礎單元庫源於數據統計而非人為設定(合理,可解釋);神經網絡指的是一級一級分級優化,權重連接(最簡化基礎單元庫),這兩個通常一起出現,使得結果既合理又簡單。

大型神經網絡價格較貴,每一個節點都是通過高性能GPU或者工作站進行實現,幾百萬美金的投入也就能購買幾千個節點,所以這是大公司的遊戲。小公司通常採用多個小神經網絡,雖然識別準確率會受到一定的影響,但是在不較真的應用場景,比如說家用的人臉識別,中小規模公司用的門禁識別等等,已經可以足夠好到用戶分辨不出來了。

Q11:能否整體總結一下人工智能?

A:人工智能,首先是能聽懂看懂(識別)。這一是收集數據(工作量),二是精進算法(可人工憑經驗,或者大數據做統計)。對小公司來說,主要是工作量。

再進一步是能反饋(對話),

除了天生有數據的以外,主要就是規則制定(工作量)和數據收集(工作量)。在比拼工作量的事情上,產品設計往往更為重要,該做什麼不該做什麼主要應該做什麼,是小公司集中有限資源於一點突圍的法寶。

再高一層,是有記憶。來過一次就記住你了,下次來直接就能叫出你名字;比如說你回家晚了,會主動的問候,這些都是產品設計的事情。

大數據人工智能技術,在應用層面包括機器學習、神經網絡、深度學習等,它們都是現代人工智能的核心技術。當然,人工智能對我們的社會和未來的影響,也有一些令人擔憂的問題。但隨著人工智能和物聯網的進步和發展,有一件事是肯定的:這些技術對我們影響必然是深遠而重大的。


分享到:


相關文章: