Author Archive

在未來和AI爭奪工作的16個實用技巧

雖然人工智能可能會改變某些類型的工作,但它們永遠不會完全取代人類的工作——你只需要知道如何維持並推銷你的技能。來自福布斯教練諮詢會(Forbes Coaches Council)的成員們分享了一些技巧,讓你可以在未來的職業生涯中獲取所需的技能。

強化學習如何入門?看這篇文章就夠了

對於大腦的工作原理,我們知之甚少,但是我們知道大腦能通過反覆嘗試來學習知識。我們做出合適選擇時會得到獎勵,做出不切當選擇時會受到懲罰,這也是我們來適應環境的方式。如今,我們可以利用強大的計算能力,在軟件中對這個具體過程進行建模,這就是強化學習。

人臉識別 | Facial recognition

一文看懂人臉識別

人臉識別是身份識別的一種方式,目的就是要判斷圖片和視頻中人臉的身份時什麼。

本文將詳細介紹人臉識別的4個特點、4個步驟、5個難點及算法的發展軌跡。

 

什麼是人臉識別?

人臉識別是 計算機視覺-computer Vision 領域裏很典型的應用。

人臉識別的目的就是要判斷圖片和視頻(視頻是由圖片構成的)中人臉的身份是什麼。

人臉識別是身份識別的一種,它跟身份證識別、指紋識別、虹膜識別都是相似的。可以將人臉識別和大家熟悉的身份證做對比:

人臉識別是身份識別的一種

  1. 錄入信息(開通身份證 – 錄入人臉信息)
  2. 將信息存入數據庫(身份證信息 – 人臉信息)
  3. 當需要驗證身份時,將新採集信息和數據庫信息作比對(掃身份證 – 刷臉)

 

人臉識別有4個特點

人臉識別和其他身份識別相比,有4個特點:

人臉識別的4個特點

  1. 便捷性。人臉是生物特徵,不需要攜帶類似身份證的東西
  2. 非強制性。識別的過程甚至不需要對象的配合,只要拍攝到人臉就可以進行識別,例如安防領域就是如此。
  3. 非接觸性。不需要跟設備進行接觸,相比指紋更加安全一些。
  4. 並行處理。一張照片里有多個人臉時可以一起處理,不像指紋和虹膜,需要一個一個來。

基於以上特點,人臉識別正在被廣泛的應用在各個領域。大家在生活中隨處都可以看到人臉識別的應用。

 

人臉識別的 4 個步驟

人臉識別的過程中有4個關鍵的步驟:

  1. 人臉檢測
  2. 人臉對齊
  3. 人臉編碼
  4. 人臉匹配

人臉識別的4個步驟

下面詳細說明一下這4個步驟。

人臉檢測

人臉檢測的目的是尋找圖片中人臉的位置。當發現有人臉出現在圖片中時,不管這個臉是誰,都會標記出人臉的坐標信息,或者將人臉切割出來。

可以使用方向梯度直方圖(HOG)來檢測人臉位置。先將圖片灰度化,接着計算圖像中像素的梯度。通過將圖像轉變成HOG形式,就可以獲得人臉位置。

人臉檢測方法-HOG

人臉對齊

人臉對齊是將不同角度的人臉圖像對齊成同一種標準的形狀。

先定位人臉上的特徵點,然後通過幾何變換(仿射、旋轉、縮放),使各個特徵點對齊(將眼睛、嘴等部位移到相同位置)。

人臉對齊-特徵點對齊

人臉編碼

人臉圖像的像素值會被轉換成緊湊且可判別的特徵向量,這也被稱為模板(template)。理想情況下,同一個主體的所有人臉都應該映射到相似的特徵向量。

人臉編碼

人臉匹配

在人臉匹配構建模塊中,兩個模板會進行比較,從而得到一個相似度分數,該分數給出了兩者屬於同一個主體的可能性。

人臉匹配

 

人臉識別的 5 個難點

人臉圖像在現實世界中的呈現具有高度的可變性。所以人臉識別也是最有挑戰性的生物識別方法之一。人臉圖像可變的地方包括:

  1. 頭部姿勢
  2. 年齡
  3. 遮擋
  4. 光照條件
  5. 人臉表情

人臉識別的5個難點

 

人臉識別算法的發展軌跡

人臉識別領域,也是從傳統機器學習算法過度到深度學習算法的。

人臉識別算法的發展軌跡

傳統機器學習算法

在機器學習階段,人臉識別也經歷了3個重要的階段:

  1. 幾何特徵階段
  2. 表象特徵階段
  3. 紋理特徵階段

深度學習算法

在深度學習階段,算法的發展也同樣經歷了3個階段:

  1. 從最開始的 VGG 網絡到 Inception 網絡再到 Resnet 網絡,網絡模型總體上呈現出更深,更寬的趨勢。
  2. 曠視、商湯為代表的在學術公開競賽中取得好成績的這些廠商,開始發展實際業務為起點,通過不斷擴大他們的實際數據集合,算法性能也在逐漸的提升。
  3. 進一步增加數據量以提升算法性能以外,與第一階段相反,大家開始在不降低識別性能的基礎上,研究網絡的輕量化。輕量化的主要目的有兩個,一個是提升算法的速度,甚至能夠部署到移動端;另外一個就是便於硬件實現,從而將人臉識別算法直接做成一個硬件模塊。

想要詳細了解不同階段的技術細節,可以看這篇文章《一文看懂人臉識別技術發展脈絡

 

人臉識別的典型應用

人臉識別的應用變得越來越廣泛,只要跟身份識別相關的未來都有可能使用人臉識別。下面列幾個典型的應用場景。

  1. 門禁系統
  2. 安防系統
  3. 無人超市
  4. 電子護照及身份證
  5. 自主服務系統(如ATM)
  6. 信息安全系統,如刷臉支付
  7. 娛樂型應用,如抖音里的部分道具

 

百度百科+維基百科

百度百科版本

人臉識別,是基於人的臉部特徵信息進行身份識別的一種生物識別技術。用攝像機或攝像頭採集含有人臉的圖像或視頻流,並自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別的一系列相關技術,通常也叫做人像識別、面部識別。

查看詳情

維基百科版本

面部識別系統是能夠在技術識別或驗證從一個人的數字圖像或視頻幀從視頻源。面部識別系統有多種方法可以工作,但一般來說,它們通過將給定圖像中的選定面部特徵與數據庫中的面部進行比較來工作。它還被描述為基於生物識別人工智能的應用程序,其可以通過基於人的面部紋理和形狀分析模式來唯一地識別人。

雖然最初是計算機應用的一種形式,但近來在移動平台和其他形式的技術(例如機械人技術)中已經有了更廣泛的用途。它通常用作安全系統中的訪問控制,並且可以與其他生物識別技術(如指紋或眼睛虹膜識別系統)進行比較。雖然面部識別系統作為生物識別技術的準確性低於虹膜識別和指紋識別,但由於其非接觸式和非侵入性的過程,它被廣泛採用。最近,它作為商業識別和營銷工具也變得流行。其他應用包括高級人機交互,視頻監控,圖像自動索引和視頻數據庫等。

查看詳情

自然語言理解 – NLU | NLI

一文看懂自然語言理解-NLU

自然語言理解(NLU)跟 NLP 是什麼關係?為什麼說它是人工智能領域裏一個難點?NLU 的發展史歷史和目前最先進的方法是什麼?

本文將解答上面的問題,帶你全面了解自然語言理解(NLU)。

想要了解更多 NLP 相關的內容,請訪問  NLP專題 ,免費提供59頁的NLP文檔下載。

訪問 NLP 專題,下載 59 頁免費 PDF

 

什麼是自然語言理解(NLU)?

大家最常聽到的是 NLP,而 自然語言理解(NLU) 則是 NLP 的一部分:

自然語言理解NLU是NLP的一部分

什麼是自然語言?

自然語言就是大家平時在生活中常用的表達方式,大家平時說的「講人話」就是這個意思。

自然語言:我背有點駝(非自然語言:我的背部呈彎曲狀)

自然語言:寶寶的經紀人睡了寶寶的寶寶

自然語言理解就是希望機器像人一樣,具備正常人的語言理解能力,由於自然語言在理解上有很多難點(下面詳細說明),所以 NLU 是至今還遠不如人類的表現。

自然語言理解就是希望機器像人一樣,具備正常人的語言理解能力

下面用一個具體的案例來深度說明一下自然語言理解(NLU):

對話系統這個事情在2015年開始突然火起來了,主要是因為一個技術的普及:機器學習特別是深度學習帶來的語音識別和NLU(自然語言理解)——主要解決的是識別人講的話。

這個技術的普及讓很多團隊都掌握了一組關鍵技能:意圖識別和實體提取

這意味着什麼?我們來看一個例子。

在生活中,如果想要訂機票,人們會有很多種自然的表達:

「訂機票」;

「有去上海的航班么?」;

「看看航班,下周二出發去紐約的」;

「要出差,幫我查下機票」;

等等等等

可以說「自然的表達」 有無窮多的組合(自然語言)都是在代表 「訂機票」 這個意圖的。而聽到這些表達的人,可以準確理解這些表達指的是「訂機票」這件事。

而要理解這麼多種不同的表達,對機器是個挑戰。在過去,機器只能處理「結構化的數據」(比如關鍵詞),也就是說如果要聽懂人在講什麼,必須要用戶輸入精確的指令。

所以,無論你說「我要出差」還是「幫我看看去北京的航班」,只要這些字裏面沒有包含提前設定好的關鍵詞「訂機票」,系統都無法處理。而且,只要出現了關鍵詞,比如「我要退訂機票」里也有這三個字,也會被處理成用戶想要訂機票。

機器通過「訂機票」這個關鍵詞來識別意圖

自然語言理解這個技能出現後,可以讓機器從各種自然語言的表達中,區分出來,哪些話歸屬於這個意圖;而那些表達不是歸於這一類的,而不再依賴那麼死板的關鍵詞。比如經過訓練後,機器能夠識別「幫我推薦一家附近的餐廳」,就不屬於「訂機票」這個意圖的表達。

並且,通過訓練,機器還能夠在句子當中自動提取出來「上海」,這兩個字指的是目的地這個概念(即實體);「下周二」指的是出發時間。

這樣一來,看上去「機器就能聽懂人話啦!」。

基於NLU識別用戶意圖

 

自然語言理解(NLU)的應用

幾乎所有跟文字語言和語音相關的應用都會用到 NLU,下面舉一些具體的例子。

基於自然語言理解-NLU的應用

機器翻譯

基於規則的翻譯效果經常不太好,所以如果想提升翻譯的效果,必須建立在對內容的理解之上。

如果是不理解上下文,就會出現下面的笑話:

I like apple, it’s so fast!

我喜歡「蘋果」,它很快!

 

機器客服

如果想實現問答,就要建立在多輪對話的理解基礎之上,自然語言理解是必備的能力。

下面的例子對於機器來說就很難理解:

“有什麼可以幫您?”

“你好,我想投訴”

“請問投訴的車牌號是多少?”

“xxxxxx”

“請問是什麼問題?”

“我剛上車,那個態度惡劣的哥譚市民就沖我發火”

機器很容易理解為:那個態度惡劣/的/哥譚/市民/就沖我發火

 

智能音箱

智能音箱中,NLU 也是重要的一個環節。很多語音交互都是很短的短語,音箱不但需要能否識別用戶在說什麼話,更要理解用戶的意圖。

“我冷了”

機器:幫您把空調調高1度

用戶並沒有提到空調,但是機器需要知道用戶的意圖——空調有點冷,需要把溫度調高。

 

自然語言理解(NLU)的難點

下面先列舉一些機器不容易理解的案例:

  1. 校長說衣服上除了校徽別別別的
  2. 過幾天天天天氣不好
  3. 看見西門吹雪點上了燈,葉孤城冷笑着說:「我也想吹吹吹雪吹過的燈」,然後就吹滅了燈。
  4. 今天多得謝遜出手相救,在這裡我想真心感謝「謝謝謝遜大俠出手」
  5. 滅霸把美隊按在地上一邊摩擦一邊給他洗腦,被打殘的鋼鐵俠說:滅霸爸爸叭叭叭叭兒的在那叭叭啥呢
  6. 姑姑你估估我鼓鼓的口袋裡有多少谷和菇!!
  7. 「你看到王剛了嗎」「王剛剛剛剛走」
  8. 張傑陪倆女兒跳格子:俏俏我們不要跳跳跳跳過的格子啦

自然語言理解的5大難點

那麼對於機器來說,NLU 難點大致可以歸為5類:

難點1:語言的多樣性

自然語言沒有什麼通用的規律,你總能找到很多例外的情況。

另外,自然語言的組合方式非常靈活,字、詞、短語、句子、段落…不同的組合可以表達出很多的含義。例如:

我要聽大王叫我來巡山

給我播大王叫我來巡山

我想聽歌大王叫我來巡山

放首大王叫我來巡山

給唱一首大王叫我來巡山

放音樂大王叫我來巡山

放首歌大王叫我來巡山

給大爺來首大王叫我來巡山

 

難點2:語言的歧義性

如果不聯繫上下文,缺少環境的約束,語言有很大的歧義性。例如:

我要去拉薩

  • 需要火車票?
  • 需要飛機票?
  • 想聽音樂?
  • 還是想查找景點?

 

難點3:語言的魯棒性

自然語言在輸入的過程中,尤其是通過語音識別獲得的文本,會存在多字、少字、錯字、噪音等問題。例如:

大王叫我來新山

大王叫讓我來巡山

大王叫我巡山

 

難點4:語言的知識依賴

語言是對世界的符號化描述,語言天然連接着世界知識,例如:

大鴨梨

除了表示水果,還可以表示餐廳名

7天

可以表示時間,也可以表示酒店名

晚安

有一首歌也叫《晚安》

 

難點5:語言的上下文

上下文的概念包括很多種:對話的上下文、設備的上下文、應用的上下文、用戶畫像…

U:買張火車票

A:請問你要去哪裡?

U:寧夏

 

U:來首歌聽

A:請問你想聽什麼歌?

U:寧夏

 

NLU 的實現方式

自然語言理解跟整個人工智能的發展歷史類似,一共經歷了3次迭代:

  1. 基於規則的方法
  2. 基於統計的方法
  3. 基於深度學習的方法

自然語言理解的3大發展階段

最早大家通過總結規律來判斷自然語言的意圖,常見的方法有:CFG、JSGF等。

後來出現了基於統計學的 NLU 方式,常見的方法有:SVM、ME等。

隨着深度學習的爆發,CNNRNNLSTM 都成為了最新的”統治者”。

到了2019年,BERT 和 GPT-2 的表現震驚了業界,他們都是用了 Transformer,下面將重點介紹 Transformer,因為他是目前「最先進」的方法。

Transformer是當紅炸子雞

Transformer 和 CNN / RNN 的比較

Transformer 的原理比較複雜,這裡就不詳細說明了,感興趣的朋友可以查看下面的文章,講的很詳細:

BERT大火卻不懂Transformer?讀這一篇就夠了

下面將摘取一部分《why Self-Attention?A Targeted Evaluation of Neural Machine Translation Architectures》里的數據,直觀的讓大家看出來3者的比較。

語義特徵提取能力

語義特徵抽取能力:Transformer>>原生CNN=原生RNN

從語義特徵提取能力來說,目前實驗支持如下結論:Transformer在這方面的能力非常顯着地超過RNN和CNN(在考察語義類能力的任務WSD中,Transformer超過RNN和CNN大約4-8個絕對百分點),RNN和CNN兩者能力差不太多。

長距離特徵捕獲能力

長距離特徵抽取能力:Transformer>原生RNN>原生CNN

原生CNN特徵抽取器在這方面極為顯着地弱於RNN和Transformer,Transformer微弱優於RNN模型(尤其在主語謂語距離小於13時),能力由強到弱排序為Transformer>RNN>>CNN; 但在比較遠的距離上(主語謂語距離大於13),RNN微弱優於Transformer,所以綜合看,可以認為Transformer和RNN在這方面能力差不太多,而CNN則顯著弱於前兩者。

任務綜合特徵抽取能力

任務綜合特徵抽取能力:Transformer>>原生CNN=原生RNN

Transformer綜合能力要明顯強於RNN和CNN(你要知道,技術發展到現在階段,BLEU絕對值提升1個點是很難的事情),而RNN和CNN看上去表現基本相當,貌似CNN表現略好一些。

並行計算能力及運算效率

計算效率:Transformer>CNN>RNN

Transformer Base最快,CNN次之,再次Transformer Big,最慢的是RNN。RNN比前兩者慢了3倍到幾十倍之間。

關於 Transformer ,推薦幾篇優秀的文章給大家,讓大家有一個更綜合的了解:

放棄幻想,全面擁抱Transformer:自然語言處理三大特徵抽取器(CNN/RNN/TF)比較

從Word Embedding到Bert模型—自然語言處理中的預訓練技術發展史

效果驚人的GPT 2.0模型:它告訴了我們什麼

 

百度百科-維基百科

百度百科版本

自然語言處理(NLP , Natural Language Processing)是使用自然語言同計算機進行通訊的技術, 因為處理自然語言的關鍵是要讓計算機「理解」自然語言,所以自然語言處理又叫做自然語言理解(NLU ,Natural Language Understanding), 也稱為計算語言學(Computational Ling uistics)。一方面它是語言信息處理的一個分支 , 另一方面它是人工智能(AI , Artificial Intelligence)的核心課題之一 。

查看詳情

維基百科版本

自然語言理解(NLU)或自然語言解釋(NLI)是的子主題自然語言處理在人工智能與機器涉及閱讀理解。自然語言理解被認為是人工智能難題。

由於其應用於自動推理,機器翻譯,問答,新聞採集,文本分類,語音激活,存檔和大規模內容分析,因此該領域具有相當大的商業利益。。 NLU是使用NLP算法(識別詞性等)後的文本的後處理,其利用來自識別設備的上下文(自動語音識別)[ASR],視覺識別,最後一次會話,來自ASR的誤識別詞,個性化配置文件,麥克風接近等),以其所有形式,辨別碎片和連續句子的含義以通常從語音命令執行意圖。NLU具有圍繞特定產品垂直的本體,用於計算意圖的概率。NLU具有已定義的已知意圖列表,其從指定的上下文信息識別源導出消息有效載荷。NLU將提供多個消息輸出以將服務(軟件)或資源(硬件)與單個派生的意圖分開(對具有視覺句子(顯示或說出)的語音命令發起者的響應和轉換的語音命令消息將消耗太多不同的輸出消息用於M2M通信和行動)。

查看詳情