像BakerySacn這類需要匠人精雕細琢每個參數,花費數年鑽研細節的模型非常稀少,雖然有了深度學習,我們只要提供足夠樣本給AI就好,但這也有一項致命弱點——它需要大量且優質的數據,相較之下,BakeryScan只需5個樣本,便可達到近九成的準確度。
文:江彥成、黃思齊
深度學習是電腦視覺的唯一途徑嗎?
日本東京上野町的一家麵包店有著與眾不同的結帳系統:顧客將半透明的壓克力托盤放在發光的方形平台上。上方的攝影鏡頭和螢幕,除了照出剛剛挑選的可頌和甜甜圈外,還以不同顏色的鋸齒圓圈勾勒出每個麵包的輪廓,並加註日語名稱和價格。轉瞬之間,這個系統已經自動結完了帳,只等顧客掏錢。
電腦視覺的漫漫長路
圖像辨識一直是AI的一大挑戰,因為人類的視覺認知過程相當複雜。在我寫這篇文章時,我桌上有纏結的耳機線、外帶咖啡的半透明杯蓋,還有一些滴落的水漬,圖像經過視覺神經進入大腦的複雜視覺皮層,解析出有意義的資訊。對於電腦來說,要能從這一大團資訊中看出複雜的型態、光影和顏色幾乎是不可能的。
直到最近,電腦才學會怎麼「看」。
2012年,電腦科學家Alex Krizhevsky發布了AlexNet,並在該年的ImageNet視覺辨識大賽中,以15.3%的低錯誤率獲勝。AlexNet是一個成熟的深度神經網路,它模擬了人類視覺神經元運作的過程:當電腦「看」著新的圖像時,先注意到抽象特徵(比如輪廓或陰影),再一層一層地建構出如形狀等複雜訊息。在深度學習過程中,AlexNet需要不斷地假設不同特徵之間的關係,調整參數、持續迭代,直到輸出的結果符合研究人員的期待。
深度學習已存在了許多年,但AlexNet藉由GPU(圖像處理器,Graphic Processing Unit)和CNN(卷積神經網路,Convolutional Neural Network)巧妙地降低實現該理論的門檻。結果證明Krizhevsky的策略相當成功,現在幾乎所有消費者耳熟能詳的AI系統,例如Siri、AlphaGo、Google Translate,都是深度學習的具體成果。「深度學習」儼然成為「電腦視覺」的同義詞,但是是唯一的一條路嗎?
故事得從西脇這座小鎮說起……
小鎮創業故事
西脇市位於日本的地理中心,是一座被山林和稻田環繞的小鎮。出生於此的岡部久志原本計畫繼承父親的木工生意,但東京大學畢業後,卻加入了松下電工 (Matsushita Electric Works,也就是後來的Panasonic),開啟對機器和演算法的興趣。之後他回到家鄉,從一開始為NHK(日本廣播協會)設計轉播職棒時使用的比數顯示系統,到自行開發的織品設計輔助程式受到三菱織品部的青睞,最終成立了自己的科技公司──BRAIN。
2007年,一個希望跨足麵包零售的連鎖餐飲集團找上岡部。日本的麵包業者(台灣也深受其影響)長期以來已經整理出兩條黃金定律:提供消費者越多種選擇,麵包店的銷量越好;麵包最好直接放在敞開的陳列盤上,不要預先套袋封裝,才能給消費者這些麵包都才剛出爐的印象,有助於提升銷量。
但這也造成了人員培訓上的痛點:既然不能直接貼上條碼,新進員工在剛入職時勢必得花上一些時間把每種產品的外型與定價記起來,才能幫客戶結帳。有沒有更好的方式呢?
這時距離AlexNet誕生還有五年,如今熟知的深度學習技術都還不存在,岡部與他的夥伴們別無選擇,只能見招拆招,開發一系列各有不同功能的演算法應付電腦識別麵包的過程中可能遇到的問題。
以設計行人辨識系統為例:首先要處理色彩,以避免行人的紅色衣物與紅燈混淆;接著要定出系統需要注意的區域,例如鎖定人行道的斑馬線;最後憑藉著雙腿的A型線條或肩膀弧線,辨識形態各異的行人。除此之外,日式的麵包大部分都是褐色的橢圓形,缺乏足夠明確的特徵來鑑別彼此;相反的,即使是同種麵包也會因為烘焙過程中的細微差異而有不同形狀或上色不一,就連撒在甜甜圈上的糖粉融化後,也可能導致電腦誤判。
當時正逢2008年金融危機,在經濟不景氣下岡部幾乎是散盡家財推出十款BakeryScan原型。然而當拿到店面實際測試時,無論是結帳櫃檯的燈光照明,或是顧客擺放麵包的方式,都與當初在實驗室設計BakeryScan時的預想相差甚遠,表現差強人意。
BRAIN最後為每個結帳櫃台加上背光燈,消除麵包在鏡頭下的陰影,使得麵包的輪廓更突出,更容易抽取特徵。同時他們建立起麵包色澤與烘烤程度之間的數學模型,於是即使是烤焦的麵包也能被電腦正確辨識。
2013年,BRAIN沉浸在麵包的世界五年之後,所打造的POS機已經能夠成功區分玉米火腿三明治和蛋沙拉三明治了!這套系統甚至具備學習回饋機制:當系統無法正確判定麵包種類時,它會用紅色或黃色的線將有疑慮的商品圈起來,要求店員從備選項目中選出正確種類,店員的回饋會作為機器未來參考的依據。
BakeryScan的成功獲得日本媒體的廣泛報導,吸引到京都路易‧巴斯德醫學研究中心(Louis Pasteur Center for Medical Research)一名醫生的注意,他意識到:癌細胞在顯微鏡下和背光台上的麵包很相似;除此之外,BakeryScan的特徵抽取以及回饋學習機制都相當成熟,除了麵包上的糖粉和培根,也可以轉而用來辨識膀胱組織切片中細胞的型態與細胞核數量。
BRAIN於是開始將BakeryScan推廣至其他領域,辨識的物件也從癌變細胞拓展到醫院開立給病患的藥物、神社的護身符,甚至是噴射機引擎中的螺栓。BakeryScan改名為AI-SCAN,開啟它的斜槓機生。
落伍的技術?
然而不得不承認,如今像BakerySacn這類需要匠人精雕細琢每個參數,花費數年鑽研細節的模型非常稀少。有了深度學習,我們不需要了解不同光源打在甜甜圈上落下的光影會如何影響電腦判讀,只要提供足夠的樣本就好。然而深度學習也有一項致命弱點——它需要大量且優質的數據。
深度學習對「資料量的需求」,使得它注定在資料收集困難或難以產生大量數據的領域發展受限。例如你很難要求麵包店每次推出新品時,從各個角度、不同光源下拍攝數以萬計的產品照片供機器學習。
相較之下,BakeryScan只需5個樣本便可達到近九成的準確度;20個樣本,便可達到近乎百分之百的水準。深度學習必須透過如「轉移學習」(transfer learning)才能解決資料量不足的問題,就像當初擊敗人類圍棋高手的AlphaGo,在抽換資料集稍加訓練後,便搖身一變成為精通西洋棋、日本將棋(類似中國象棋)與圍棋的AlphaZero。
另一方面,深度學習也十分依賴「資料的品質」。若訓練資料中存在偏誤,便會連帶導致模型給出令人啼笑皆非的結果。例如透過AI還原低解析度影像的研究中,就曾發生因為訓練資料中高加索人種的比例較高,所以模型還原的人像都帶有明顯的高加索人特徵。
相較之下,BakeryScan由於是由多個功能各異、各司其職的演算法組成,一旦系統發生誤判,開發團隊可以很快地鎖定問題的源頭,及時糾正、調整。有趣的是,近年受疫情影響,日本麵包店不得不違背當初歸結出的黃金定律,將麵包預先套袋封裝展售。塑膠袋反射的眩光難倒了BakeryScan,BRAIN不得已採用深度學習先將麵包「去袋」。
這意味著BakeryScan已經落伍了嗎?不可否認地,如果岡部久志晚幾年才受到麵包店的請託,或許會毫不猶豫地選擇深度學習,也就不會有BakeyScan的出現。
然而卡內基梅隆大學Zbigniew Zdziarski教授卻認為:BackeryScan這種傳統的電腦視覺技術並非純粹過時的老把戲,比方說BRAIN當初打造BakeryScan時,在圖像前處理和特徵強化上所花的功夫便十分值得後人借鏡,或能顯著提升深度網路的訓練效果。
參考資料
- J. Somers, “The Pastry A.I. That Learned to Fight Cancer“, The New Yorker, 2021.
- “BakeryScan(ベーカリースキャン)“, bakeryscan.com, 2021.
- “AIによる画像識別エンジン AI-scan“, ai-scan.com, 2021.
- Z. Zdziarski, “Why Deep Learning Has Not Superseded Traditional Computer Vision“, Zbigatron.com, 2018.
延伸閱讀
本文由臺大科學教育發展中心授權刊登,原文發表於此
責任編輯:丁肇九
核稿編輯:翁世航