譯者 | 朱先忠
審校 | 重樓
AI真的能像人類專家一樣區分狗的品種嗎?
有一天散步時,我看到一只毛茸茸的白色小狗,心想:“那是比熊犬還是馬耳他犬?”無論我怎么仔細看,它們看起來都幾乎一模一樣。對于哈士奇和阿拉斯加雪橇犬、柴犬和秋田犬,我總是猶豫不決。專業獸醫和研究人員如何一眼就發現差異?他們關注的是什么?
在開發PawMatchAI程序的過程中,這個問題一直縈繞在我的腦海中。有一天,在努力提高模型的準確性時,我意識到當我識別物體時,我并不會一次性處理所有細節。相反,我會先注意到整體形狀,然后再將注意力集中在特定特征上。這種“由粗到精”的處理方式是否是專家如此準確地識別相似犬種的關鍵?
深入研究后,我偶然發現了一篇認知科學論文,證實人類的視覺識別依賴于多層次特征分析。專家們不僅會記住圖像,還會分析結構化特征,例如:
- 整體身體比例(大型犬與小型犬、方形與細長形體形)
- 頭部特征(耳朵形狀、口鼻長度、眼睛間距)
- 毛皮的質地和分布(柔軟、卷曲、光滑、雙層、單層)
- 顏色和圖案(特定標記、色素分布)
- 行為和姿勢特征(尾巴姿勢、行走方式)
這讓我重新思考了傳統的CNN(卷積神經網絡)。雖然它們在學習局部特征方面非常強大,但它們并沒有像人類專家那樣明確區分關鍵特征。相反,這些特征糾纏在數百萬個參數中,沒有明確的可解釋性。
因此,我設計了形態特征提取器,這種方法可以幫助人工智能以結構化層次分析品種——就像專家所做的那樣。這種架構特別關注身體比例、頭部形狀、皮毛質地、尾巴結構和顏色圖案,使人工智能不僅能看見物體,還能理解它們。
PawMatchAI是我的個人項目,可以識別124種狗品種,并根據用戶偏好提供品種比較和推薦。如果你有興趣,可以在Hugging Face Space上嘗試,或者在GitHub上查看這個程序的完整代碼:
- HuggingFace: PawMatchAI
- GitHub:PawMatchAI在本文中,我將深入探討這種受生物啟發的設計,并分享如何將簡單的日常觀察轉化為實用的AI解決方案。
1.人類視覺與機器視覺:兩種截然不同的感知世界的方式
起初,我以為人類和人工智能識別物體的方式相似。但在測試了我的模型并研究了認知科學后,我發現了一件令人驚訝的事情,人類和人工智能處理視覺信息的方式實際上完全不同。這徹底改變了我對基于人工智能的識別的看法。
人類視覺:結構化和自適應
人類視覺系統在識別物體時遵循高度結構化但靈活的方法:
- 先看大局:我們的大腦首先掃描物體的整體形狀和大小。這就是為什么只要看一眼狗的輪廓,我們就能很快判斷它是大型犬還是小型犬。就我個人而言,這總是我發現狗時的第一直覺。
- 關注關鍵特征:接下來,我們的注意力會自動轉移到最能區分一個品種和另一個品種的特征上。在研究過程中,我發現專業獸醫經常強調耳朵形狀和口鼻長度作為品種識別的主要指標。這讓我意識到專家是如何快速做出決定的。
- 從經驗中學習:我們見的狗越多,我們的識別過程就越完善。第一次看到薩摩耶的人可能會關注它蓬松的白色皮毛,而經驗豐富的狗愛好者會立即認出它獨特的“薩摩耶微笑”,即獨特的上翹嘴形。
CNN如何“看”世界
卷積神經網絡(CNN)遵循完全不同的識別策略:
- 難以解釋的復雜系統:CNN確實可以學習從簡單的邊緣和紋理到高級特征的模式,但所有這些都發生在數百萬個參數中,因此很難理解模型真正關注的是什么。
- 當AI混淆背景中的狗時:我遇到的最令人沮喪的問題之一是,我的模型總是根據周圍環境錯誤地識別品種。例如,如果一只狗在雪地里,它幾乎總是會猜出它是西伯利亞哈士奇,即使品種完全不同。
2.形態特征提取器:來自認知科學的啟發
(1)核心設計理念
在PawMatchAI的整個開發過程中,我一直在嘗試讓模型像人類專家一樣準確地識別外觀相似的狗品種。然而,我早期的嘗試并沒有按計劃進行。起初,我認為訓練具有更多參數的更深層CNN會提高性能。但無論模型變得多么強大,它仍然無法識別相似的品種,會把比熊犬誤認為馬耳他犬,或者把哈士奇犬誤認為愛斯基摩犬。這讓我不禁懷疑:人工智能真的能通過變得更大、更深來理解這些細微的差異嗎?
然后,我回想起我以前注意到的一件事,當人類識別物體時,我們不會一次性處理所有的事情。我們首先查看整體形狀,然后逐漸放大細節。這讓我想到,如果CNN可以模仿人類的物體識別習慣,從整體形態開始,然后關注細節特征,會怎么樣?這會提高識別能力嗎?
基于這個想法,我決定不再簡單地讓CNN變得更深,而是設計一個更結構化的模型架構,最終建立了三個核心設計原則:
- 明確的形態特征:這讓我開始思考自己的問題——專業人士究竟在關注什么?事實證明,獸醫和品種專家不僅僅依靠直覺,他們遵循一套明確的標準,專注于特定的特征。因此,我沒有讓模型“猜測”哪些部分很重要,而是將其設計為直接從這些專家定義的特征中學習,使其決策過程更接近人類認知。
- 多尺度并行處理:這符合我的認知洞察——人類并不是線性地處理視覺信息,而是同時關注不同層次的特征。當我們看到一只狗時,我們不需要先完成對整體輪廓的分析,然后再觀察局部細節;相反,這些過程是同時發生的。因此,我設計了多個并行特征分析器,每個分析器都關注不同尺度的特征,它們協同工作,而不是按順序工作。
- 為什么特征之間的關系比單個特征更重要:我意識到,僅憑單個特征通常不足以確定品種。識別過程不僅僅是識別單個特征,還在于它們如何相互作用。例如,如果一只狗身體修長,毛發短、耳朵尖,那么它可能是杜賓犬。但如果同樣的組合出現在一個矮胖緊湊的體型上,那么它更可能是波士頓梗犬。顯然,特征之間的關系往往是區分品種的關鍵。
(2)五種形態特征分析儀的技術實現
每個分析器使用不同的卷積核大小和層來處理各種特征:
身體比例分析儀
# 使用大型卷積內核(7×7)來捕獲整體的身體特征
'body_proportion': nn.Sequential(
nn.Conv2d(64, 128, kernel_size=7, padding=3),
nn.BatchNorm2d(128),
nn.ReLU(),
nn.Conv2d(128, 128, kernel_size=3, padding=1),
nn.BatchNorm2d(128),
nn.ReLU()
)
最初,我嘗試使用更大的核,但發現它們過于關注背景。我最終使用(7×7)核來捕捉整體形態特征,就像犬科動物專家首先注意到狗是大、中還是小,以及它的體形是方形還是矩形一樣。例如,在識別類似的小型白色品種(如比熊犬與馬耳他犬)時,身體比例通常是最初的區分點。
頭部特征分析儀
#中型卷積內核(5×5)適合用于分析頭部結構
'head_features': nn.Sequential(
nn.Conv2d(64, 128, kernel_size=5, padding=2),
nn.BatchNorm2d(128),
nn.ReLU(),
nn.Conv2d(128, 128, kernel_size=3, padding=1),
nn.BatchNorm2d(128),
nn.ReLU()
)
頭部特征分析器是我測試最廣泛的部分。技術挑戰在于頭部包含多個關鍵識別點(耳朵、口鼻、眼睛),但它們的相對位置對于整體識別至關重要。最終使用5×5卷積核的設計允許模型學習這些特征的相對位置,同時保持計算效率。
尾部特征分析儀
'tail_features': nn.Sequential(
nn.Conv2d(64, 128, kernel_size=5, padding=2),
nn.BatchNorm2d(128),
nn.ReLU(),
nn.Conv2d(128, 128, kernel_size=3, padding=1),
nn.BatchNorm2d(128),
nn.ReLU()
)
尾巴通常只占圖像的一小部分,而且形狀各異。尾巴形狀是某些犬種的關鍵識別特征,例如哈士奇向上卷起的尾巴和薩摩耶向后卷起的尾巴。最終解決方案使用與頭部分析儀類似的結構,但在訓練過程中加入了更多數據增強(例如隨機裁剪和旋轉)。
毛皮特征分析儀
# 小的內核(3×3)可以更好地捕捉毛皮紋理
'fur_features': nn.Sequential(
nn.Conv2d(64, 128, kernel_size=3, padding=1),
nn.BatchNorm2d(128),
nn.ReLU(),
nn.Conv2d(128, 128, kernel_size=3, padding=1),
nn.BatchNorm2d(128),
nn.ReLU()
)
毛發紋理和長度是區分視覺上相似的品種的關鍵特征。判斷毛發長度時,需要更大的感受野。通過實驗,我發現堆疊兩個3×3卷積層可以提高識別準確率。
色彩模式分析儀
#顏色特征分析儀:分析顏色分布
'color_pattern': nn.Sequential(
# 第一層:捕捉基本的顏色分布
nn.Conv2d(64, 128, kernel_size=3, padding=1),
nn.BatchNorm2d(128),
nn.ReLU(),
# 第二層:分析顏色圖案和標記
nn.Conv2d(128, 128, kernel_size=3, padding=1),
nn.BatchNorm2d(128),
nn.ReLU(),
# 第三層:整合顏色信息
nn.Conv2d(128, 128, kernel_size=1),
nn.BatchNorm2d(128),
nn.ReLU()
)
顏色模式分析儀的設計比其他分析儀更復雜,因為很難區分顏色本身及其分布模式。例如,德國牧羊犬和羅威納犬都有黑色和棕褐色的皮毛,但它們的分布模式不同。三層設計允許模型首先捕獲基本顏色,然后分析分布模式,最后通過1×1卷積整合這些信息。
(3)特征交互與融合機制:關鍵突破點
為每個特征配備不同的分析器很重要,但讓它們相互作用是最關鍵的部分:
# 特征注意機制:動態調整不同特征的重要性
self.feature_attention = nn.MultiheadAttention(
embed_dim=128,
num_heads=8,
dropout=0.1,
batch_first=True
)
# 特征關系分析器:分析不同形態特征之間的聯系
self.relation_analyzer = nn.Sequential(
nn.Linear(128 * 5, 256), #五種形態學特征的組合
nn.LayerNorm(256),
nn.ReLU(),
nn.Linear(256, 128),
nn.LayerNorm(128),
nn.ReLU()
)
#特征集成器:智能地結合所有特征
self.feature_integrator = nn.Sequential(
nn.Linear(128 * 6, in_features), # 五個原始特征+一個關系特征
nn.LayerNorm(in_features),
nn.ReLU()
)
多頭注意力機制對于識別每個品種最具代表性的特征至關重要。例如,短毛品種更依賴于體型和頭部特征進行識別,而長毛品種則更依賴于皮毛的質地和顏色。
(4)特征關系分析器:為什么特征關系如此重要
經過數周的挫折,我終于意識到我的模型缺少一個關鍵元素——當我們人類識別某樣東西時,我們不會只記住個別細節。我們的大腦會把這些點連接起來,將特征聯系起來形成一個完整的圖像。特征之間的關系與特征本身一樣重要。一只長著尖耳朵和蓬松毛發的小狗很可能是博美犬,但一只大狗身上有同樣的特征可能表明它是薩摩耶犬。
因此,我構建了特征關系分析器來體現這一概念。我沒有單獨處理每個特征,而是將所有五個形態特征連接起來,然后將它們傳遞到連接層。這讓模型能夠學習特征之間的關系,幫助它區分乍一看幾乎相同的品種,特別是在四個關鍵方面:
- 身體和頭部協調:牧羊犬通常有狼一樣的頭和細長的身體,而斗牛犬則有寬闊的頭部和肌肉發達、結實的體型。該模型學習這些關聯,而不是分別處理頭部和身體形狀。
- 毛發和顏色聯合分布:某些品種的毛發類型特定,且通常伴有獨特的顏色。例如,邊境牧羊犬往往有黑白雙色毛發,而金毛獵犬通常有長長的金色毛發。識別這些同時出現的特征可以提高準確性。
- 頭部和尾部成對的特征:尖耳朵和卷尾巴在北方雪橇犬品種(如薩摩耶犬和哈士奇犬)中很常見,而下垂耳朵和直尾巴則是獵犬和西班牙獵犬品種的典型特征。
- 身體、毛發和顏色三維特征空間:某些組合是特定品種的強有力指標。體型高大、毛發短小、黑褐色的毛色幾乎總是指向德國牧羊犬。
通過關注特征如何交互而不是單獨處理它們,特征關系分析器彌合了人類直覺和基于人工智能的識別之間的差距。
(5)殘差連接:保持原始信息完整
在前向傳播函數的最后,有一個關鍵的殘差連接:
#與殘差連接的最終集成
integrated_features = self.feature_integrator(final_features)
return integrated_features + x # Residual connection
這個殘差連接(+x)有幾個重要作用:
- 保留重要細節:確保在關注形態特征的同時,模型仍然保留原始表示中的關鍵信息。
- 幫助深度模型更好地訓練:在像ConvNeXtV2這樣的大型架構中,殘差可以防止梯度消失,從而保持學習穩定。
- 提供靈活性:如果原始特征已經有用,模型可以“跳過”某些轉換,而不是強制進行不必要的更改。
- 模仿大腦處理圖像的方式:就像我們的大腦同時分析物體及其位置一樣,模型會并行學習不同的視角。
在模型設計上,也采用了類似的思路,讓不同的特征分析器同時運行,分別關注不同的形態特征(如體型、毛發、耳形等),通過殘差連接,讓這些不同的信息通道相互補充,確保模型不會遺漏關鍵信息,從而提高識別準確率。
(6)總體工作流程
完整的特征處理流程如下:
- 五個形態特征分析儀同時處理空間特征,每個分析儀使用不同大小的卷積層并關注不同的特征。
- 特征注意機制動態調整對不同特征的關注。
- 特征關系分析器捕捉特征之間的相關性,真正了解品種特征。
- 特征整合器將所有信息(五個原始特征+一個關系特征)結合起來。
- 殘余連接確保不會丟失原始信息。
3.架構流程圖:形態特征提取器的工作原理
通過查看該圖,我們可以清楚區分出兩條處理路徑:左邊是專門的形態特征提取過程,右邊是傳統的基于CNN的識別路徑。
左路徑:形態特征處理
- 輸入特征張量:這是模型的輸入,包含來自CNN中間層的信息,類似于人類在查看圖像時首先獲得粗略輪廓的方式。
- 特征空間變換器將壓縮的一維特征重塑為結構化的二維表示,從而提高模型捕捉空間關系的能力。例如,在分析狗的耳朵時,它們的特征可能分散在一維向量中,這使得模型更難識別它們的連接。通過將它們映射到二維空間,這種轉換使相關特征更緊密地聯系在一起,使模型能夠同時處理它們,就像人類自然而然地做的那樣。
- 2D特征圖:這是轉換后的二維表示,如上所述,現在具有更多的空間結構,可以用于形態分析。
- 該系統的核心是五個專門的形態特征分析儀,每個分析儀都側重于狗品種識別的一個關鍵方面:
a.身體比例分析器:使用大型卷積核(7×7)來捕捉整體形狀和比例關系,這是初步分類的第一步
b.頭部特征分析器:使用中型卷積核(5×5)與小型卷積核(3×3)相結合,重點關注頭部形狀、耳朵位置、口鼻長度和其他關鍵特征
c.尾部特征分析器:同樣使用5×5和3×3卷積核的組合來分析尾部形狀、卷曲程度和姿勢,這些往往是區分相似品種的決定性特征
d.毛皮特征分析儀:使用連續的小卷積核(3×3),專門用于捕捉毛皮的紋理、長度和密度——這些細微的特征
e.顏色模式分析儀:采用多層卷積架構,包括用于顏色整合的1×1卷積,專門分析顏色分布模式和特定標記
- 與我們的眼睛在識別面部時本能地聚焦于最顯著的特征類似,特征注意機制會動態調整其對關鍵形態特征的關注,確保模型優先考慮每個品種最相關的細節。
正確路徑:標準CNN處理
- 原始特征表示:圖像的初始特征表示。
- CNN主干(ConvNeXtV2):使用ConvNeXtV2作為主干網絡,通過標準深度學習方法提取特征。
- 分類器頭:將特征轉換為124個犬種的分類概率。
集成路徑
- 特征關系分析器不僅限于單個特征,它還會研究不同特征如何相互作用,從而捕捉定義品種獨特外觀的關系。例如,“頭部形狀+尾巴姿勢+皮毛質地”等組合可能指向特定品種。
- 特征整合器:整合形態特征及其關系信息,形成更全面的表示。
- 增強特征表示:最終的特征表示,結合原始特征(通過殘差連接)和從形態學分析獲得的特征。
- 最后,模型給出預測,根據原始CNN特征和形態分析的組合來確定品種。
4.形態特征提取器的性能觀察
分析完整個模型架構后,最重要的問題是:它真的有效嗎?為了驗證形態特征提取器的有效性,我測試了30張模型通常會混淆的狗品種的照片。模型之間的比較顯示出顯著的改進:基線模型正確分類了30張圖像中的23張(76.7%),而添加形態特征提取器后,準確率提高到90%(30張圖像中的27張)。
這種改進不僅體現在數字上,還體現在模型區分品種的方式上。下面的熱圖顯示了在集成特征提取器之前和之后模型關注的圖像區域。
(1)認識臘腸犬獨特的身體比例
讓我們先來看一下錯誤分類的案例。下面的熱圖顯示,如果沒有形態特征提取器,模型會錯誤地將臘腸犬分類為金毛獵犬。
- 由于沒有形態特征,模型過于依賴顏色和毛發紋理,而無法識別狗的整體結構。熱圖顯示,模型的注意力分散,不僅集中在狗的臉上,還集中在屋頂等背景元素上,這很可能影響了錯誤分類。
- 由于長毛臘腸犬和金毛獵犬的毛色相似,模型受到誤導,更加注重表面的相似性,而不是區分身體比例和耳朵形狀等關鍵特征。
這顯示了深度學習模型的一個常見問題:如果沒有適當的指導,它們可能會把注意力集中在錯誤的事情上并犯錯誤。在這里,背景干擾使模型沒有注意到臘腸犬的長身體和短腿,這使它與金毛獵犬區分開來。
然而,在整合形態特征提取器之后,模型的注意力發生了顯著轉移,如下面的熱圖所示:
臘腸犬注意力熱圖的主要觀察結果如下:
- 背景干擾顯著減少。模型學會了忽略草木等環境元素,而更加關注狗的結構特征。
- 該模型的焦點已轉移到臘腸犬的面部特征,尤其是眼睛、鼻子和嘴巴,這些是品種識別的關鍵特征。與以前相比,注意力不再分散,從而產生更穩定和更自信的分類。
這證實了形態特征提取器可以幫助模型過濾掉不相關的背景噪音,并關注每個品種的定義面部特征,從而使得其預測更加可靠。
(2)西伯利亞哈士奇與其他北方犬種的區別
對于雪橇犬來說,形態特征提取器的影響更加明顯。下面是應用提取器之前的熱圖,其中模型將西伯利亞哈士奇誤分類為愛斯基摩犬。
從熱圖可以看出,該模型未能聚焦任何顯著特征,而是呈現出分散、不集中的注意力分布。這表明該模型不確定哈士奇的定義特征,從而導致錯誤分類。
然而,加入形態特征提取器之后,發生了重大轉變:
另一個讓我印象深刻的案例是將西伯利亞哈士奇與其他北方犬種(如阿拉斯加雪橇犬)區分開來。正如你在熱圖中看到的那樣,模型的注意力高度集中在哈士奇的面部特征上。
有趣的是眼睛周圍的黃色高亮區域。哈士奇標志性的藍眼睛和獨特的“面具”圖案是它區別于其他雪橇犬的關鍵特征。模特還注意到哈士奇獨特的耳朵形狀,它比阿拉斯加雪橇犬的耳朵更小,更靠近頭部,形成一個獨特的三角形。
最讓我驚訝的是,盡管背景中有雪和紅色漿果(這些元素可能會干擾基線模型),但改進后的模型卻很少關注這些干擾,而是專注于品種本身。
(3)熱圖分析總結
通過這些熱圖,我們可以清晰的看到形態特征提取器如何改變了模型的“思考過程”,使其更接近專家的識別能力:
- 形態優先于顏色:模型不再受表面特征(如毛皮顏色)的影響,而是學會優先考慮體型、頭部形狀以及專家用來區分相似品種的其他特征。
- 動態分配注意力:該模型展示了特征優先級的靈活性:強調臘腸犬的身體比例和哈士奇的面部標記,類似于專家的識別過程。
- 增強的抗干擾能力:模型學會忽略背景和非特征部分,即使在嘈雜的環境中也能保持對關鍵形態特征的關注。
5.潛在的應用和未來的改進
通過這個項目,我相信形態特征提取器的概念將不僅限于狗的品種識別。這一概念可以應用于其他依賴于識別細粒度差異的領域。然而,定義什么是“形態特征”因領域而異,這使得直接可移植性成為一項挑戰。
(1)細粒度視覺分類中的應用
受生物分類原理的啟發,這種方法對于區分具有細微差異的物體特別有用。一些可能的實際應用包括:
- 醫學診斷:腫瘤分類、皮膚病學分析和放射學(X射線/CT掃描),醫生依靠形狀、紋理和邊界特征來區分病情。
- 植物和昆蟲識別:某些有毒蘑菇與可食用蘑菇非常相似,需要專業知識才能根據形態進行區分。
- 工業質量控制:檢測制造產品中的微觀缺陷,例如電子元件中的形狀錯誤或金屬上的表面劃痕。
- 藝術品和文物鑒定:博物館和拍賣行通常依靠紋理圖案、雕刻細節和材料分析來區分真品和贗品,而人工智能可以在這方面提供幫助。
該方法還可以應用于監視和法醫分析,例如通過步態分析、衣著細節或刑事調查中的車輛識別來識別個人。
(2)挑戰與未來改進
雖然形態特征提取器已經證明了其有效性,但仍存在一些挑戰和需要改進的地方:
- 特征選擇靈活性:當前系統依賴于預定義特征集。未來的增強功能可以納入自適應特征選擇,根據對象類型動態調整關鍵特征(例如,狗的耳朵形狀、鳥的翅膀結構)。
- 計算效率:盡管最初預計可以很好地擴展,但實際部署表明計算復雜性增加,對移動或嵌入式設備構成了限制。
- 與先進架構的集成:將形態分析與轉換器或自監督學習等模型相結合可以提高性能,但會帶來特征表示一致性方面的挑戰。
- 跨領域適應性:雖然對于狗品種分類有效,但將這種方法應用于新領域(例如醫學成像或植物識別)需要重新定義形態特征。
- 可解釋性和小樣本學習潛力:形態特征的直觀性可能有助于低數據學習場景。然而,克服深度學習對大型標記數據集的依賴仍然是一個關鍵挑戰。
這些挑戰表明了該方法有待改進的地方,而不是其設計上的根本缺陷。
結論
這一開發過程讓我意識到形態特征提取器不僅僅是一種機器學習技術,更是讓人工智能更像人類思考的一步。這種方法不是被動地記憶模式,而是幫助人工智能專注于關鍵特征,就像專家所做的那樣。
除了計算機視覺之外,這個想法還可以影響人工智能推理、決策和更有效地解釋信息的能力。隨著人工智能的發展,我們不僅要改進模型,還要塑造以更像人類的方式學習的系統。
參考文獻和數據來源
數據集來源
- 斯坦福狗數據集-Kaggle數據集A.最初來源于斯坦福視覺實驗室-ImageNet DogsB.引用:
a.Aditya Khosla、Nityananda Jayadevaprakash、Bangpeng Yao和Li Fei-Fei著,《用于細粒度圖像分類的新型數據集》。FGVC研討會,CVPR,2011年。 - Unsplash圖片–從Unsplash獲取了四個品種(比熊犬、臘腸犬、柴犬、哈瓦那犬)的附加圖片,用于擴充數據集。
研究參考文獻
DiCarlo,JJ, Zoccolan, D., & Rust, NC (2012)著,《大腦如何解決視覺物體識別?》
圖片歸屬
本文中的所有圖像,除非另有說明,均由作者本人創作。
免責聲明
本文中描述的方法和方法基于我的個人研究和實驗結果。雖然形態特征提取器在特定場景中表現出了改進,但其性能可能會因數據集、實施細節和訓練條件而異。
本文僅用于教育和信息分享目的。讀者應根據其特定用例進行獨立評估并調整方法。不保證其在所有應用程序中的有效性。
譯者介紹
朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。
原文標題:From Fuzzy to Precise: How a Morphological Feature Extractor Enhances AI’s Recognition Capabilities,作者:Eric Chung