網路城邦
上一篇 回創作列表 下一篇  字體:
類神經網路(CNN)是新技術嗎?
2021/06/17 04:17:44瀏覽1240|回應0|推薦7

我是一個以影像辨識研發為生的人,最初入行是靠著讀書自學摸索出來的,讀的課本多半是有三四十歲的老書了!但是搭配我的程式技術與常識,加上一點點小創意,就做得不錯了!還開了一個小公司專作影像辨識,至今已進入第七年了!我原創的車牌辨識產品在業界口碑不錯,其他各式各樣的辨識核心專案也從沒漏氣做不出來。

但是近幾年當大家開始說影像辨識必須使用CNN(類神經網路)時,我還根本對這個名詞毫無概念?看完好多網路文章之後,覺得很莫名其妙?這些技巧概念和我所知道的傳統影像辨識不是完全一樣嗎?只是名詞改變了?我真的需要學更多CNN技術嗎?我的工作必須「導入CNN嗎?還是我根本就已經在使用CNN了?

譬如數位濾波(Digital Filter)硬是被改稱為Convolution?如果沒上過數位濾波的課,總玩過PhotoShop之類軟體的濾鏡功能吧?就是完全一樣的東西!一些全圖運算的程序也被改稱為Hidden layer?等等。這樣「建立」出一個新的學派理論,實作起來又和傳統方式差不多,有必要嗎?頗有換湯不換藥的感覺!如果硬要說有何具體的差異,只是CNN強調用電腦「做實驗」找到最佳解!傳統影像辨識則是研發者自行操作分析每一次的實驗而已!

下面這個程式是我五年前(2016)做的,可以將任何花花綠綠的名片中的字都轉成白底黑字的字元,讓OCR軟體非常好辨識。這不就是現在CNN玩家希望看到的成果嗎?非常複雜多樣化的輸入資料,都可以正確擷取出我們想要的特徵(字元)並呈現出來。是不是感覺很AI?很聰明呢?

但是我當時(2016年)對於CNN的概念是一個美國的新聞台!類神經網路這個詞是聽過,但完全不知道是在說甚麼?我就是依照我的傳統影像辨識概念,設計出可以逐步解析出字元目標的程序而已。參數當然不會一開始就很理想,會有很多辨識錯誤,那就研究原因慢慢調整到最好嘛!這個程式只用了一兩個禮拜就開發到有此效能了!

如上圖CNN的概念示意圖,我的辨識程序也是Input layer之後,用兩三個hidden layers完成我需要的特徵擷取運算。事實上是先找出任何顏色的亮度有明顯變化的點,也就是輪廓點,再將這些點集合做分析,篩選出合理大小的目標,把它們塗成黑色而已。

這有一點像開汽車的手排檔或自排檔一樣,我習慣開手排檔車之後,可以很輕鬆的用反射動作精準的換檔,後來有人說可以不必這麼麻煩,有自動排檔的車了!我就認為沒啥差異,未必要因此換新車。如果我是職業駕駛或賽車手,還會嫌自排的效能不如手排咧!電腦分析解決錯誤的能力當然不如人類的專家,如果我使用太多CNN在我的研發工作上,反而會讓我失去優勢。

以我的觀點:CNN絕對不是一個全新的技術,連新概念都算不上!如果你想做好影像辨識,傳統基礎的數位影像知識技術,你一樣都不能少!CNN不會讓不懂影像的人越級超車,直接變成影像辨識專家。Don’t even think about it! 但如果你真的對於傳統的影像處理技術熟練到我的地步,CNN就變成可有可無的一個輔助選項而已了!

以我目前的經驗感受,CNN包括ML或DL等技術的「新意」其實是在鑽研如何讓電腦可以代勞人類科學家(或工程師)研發工作的方法論!在某些議題上,它們確實可以快速完成工作,甚至超前人類!因為電腦的記憶力與運算量可以是無限的。但目前的現實是「大部分」的研發工作,尤其是影像辨識,太依賴這些技術都會是一場災難!因為這些AI方法論本身都還不太成熟,與其耗費時間學習半生不熟的AI技術,還不如將時間移作鑽研待解問題本身的相關知識

也有一個比喻十分恰當,就是像我這種研發型的老闆,當我覺得自己寫程式做研發太累了,公司也有錢了,就請一個年輕人(電腦?)幫我研發。但是他只有體力比我好,知識經驗都差我很多,天天熬夜還是成效不高!指導他做事的時間比我自己做研發還多,這也是很多使用所謂AI技術(ML,DL,CNN等等)研發者的困境,調參數調到不知所云?到最後老闆我一定會受不了,乾脆辭掉員工拿回工作自己做!隔靴搔癢,搔不著癢處的,還是自己來吧!

( 心情隨筆工作職場 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=163953970