日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kaggle | Bengali 比赛总结(孟加拉字符分类 )

發(fā)布時(shí)間:2025/3/8 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kaggle | Bengali 比赛总结(孟加拉字符分类 ) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Bengali.AI 總結(jié)

Bengali.AI Handwritten Classification?

https://www.kaggle.com/c/bengaliai-cv19?

比賽內(nèi)容:孟加拉字符分類?

賽題解析

每一個(gè)字符由三部分組成:

  • grapheme root (共168類)

  • vowel diacritics (共11類)

  • consonant diacritics (共7類)

比賽任務(wù)需要對每一個(gè)字符識別的三個(gè)元素類別,因此這個(gè)比賽的任務(wù)是很常見的CNN分類任務(wù),只不過Bengali是三個(gè)類別的多類別分類比賽。這個(gè)比賽非常有意思,竟然讓榜單shake的天翻地覆,過擬合A榜簡直不要太簡單:

  • 普通模型可以A榜得分0.97~0.99;

  • A榜得分和本地CV一致,但與B榜不一致;

設(shè)想一下一個(gè)多類別分類任務(wù),CNN精度竟然可以達(dá)到99%的準(zhǔn)確率,所以對于絕大部分選手都是過擬合,99%的人都翻車了,隨便提交一個(gè)baseline都可以達(dá)到銀牌和銅牌;

為什么會(huì)有這么大的變化呢,原因在于訓(xùn)練集中字符標(biāo)簽的空間與測試集的空間是不一樣的,也就是說在測試集會(huì)出現(xiàn)unseen的樣本。

對于類別分布不一致的情況的,會(huì)導(dǎo)致CV和B榜成績不一致,雖然在比賽期間已經(jīng)有類似的帖子,但我本人并沒有注意到:?

https://www.kaggle.com/karishmakunder/validation-with-unseen

Solution: 1st?Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/135984

第一名思路:CycleGAN ZeroShot solutions,考慮所有類別的組合情況,共14784 (168 * 11 * 8) 種情況,這是首次GAN模型在Kaggle比賽中成功應(yīng)用;

第一名將數(shù)據(jù)按照可見和不可見進(jìn)行了劃分:

模型1:Out of Distribution Detection Model

預(yù)測圖像是Seen class,還是Unseen Class(與訓(xùn)練數(shù)據(jù)相比):使用模型類別輸出的大小確定,如果所有類別的輸出概率都很低,則是Unseen;反之則是Seen;

模型2:Seen Class Model

預(yù)測圖像屬于訓(xùn)練數(shù)據(jù)中Seen class對應(yīng)的類別;

模型3:Unseen Class Model

分為兩步:(1)生成新字符:使用ttf字體文件生成字符圖像;(2)字符風(fēng)格轉(zhuǎn)換:使用CycleGAN將生成的字符在變換為比賽的風(fēng)格;

第一名的方法非常清晰,通過ttf字體文件生成了unseen的樣本,同時(shí)利用CycleGAN進(jìn)行風(fēng)格轉(zhuǎn)換操作,這些都是認(rèn)真分析賽題后做的。第一名整體的流程可以參考Model Overview圖。

Solution: 2nd Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/135966

Solution:?3rd Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/135982

預(yù)訓(xùn)練模型: 使用hflip and vflip擴(kuò)增3倍數(shù)據(jù)集;

for seen grapheme and unseen grapheme:

  • 模型1:encoder>gem>bn>fc

  • 模型2 :encoder>avg>bn>dropout>fc

arcface,用來類別距離檢測unseen

  • encoder>avgpool>conv1d>bn

  • s 32(train), 1.0(test)

  • m 0.5

訓(xùn)練

  • seen 字符:?使用3倍數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,然后在原始數(shù)據(jù)集上進(jìn)行finetune;

  • arcface and unseen 字符:?使用arcface在預(yù)訓(xùn)練上進(jìn)行finetune

  • replace softmax with?pc-softmax

  • loss function: negative log likelihood

  • SGD with CosineAnnealing

  • Stochastic Weighted Average

預(yù)測

  • use cosine similarity between train and test embedding feature

  • threshold: smallest cosine similarity between train and validation embedding feature

Solution: 4th Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/136982

與3th思路類似,也是使用arcface預(yù)測unseen類別;使用特征距離來判斷預(yù)測樣本是seen還是unseen,然后分別使用模型分別預(yù)測;

Solution: 5th Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/136129

  • 3 heads,?for consonant, vowel and root and

  • auxiliary?for grapheme with arccos loss

  • root loss: CrossEntropy

  • consonant loss: Multi?Binary Crossentropy

  • vowel loss : CrossEntropy

  • grapheme loss: ArcCos + CrossEntropy

挖掘consonant diacritic 3/4/6之間的關(guān)系,挖掘不同類的分布關(guān)系,轉(zhuǎn)換為多個(gè)二分類,獲得千分點(diǎn)的提升;

Solution: 6th Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/136011

Solution: 7th Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/135960

使用ttf生成47k額外的訓(xùn)練數(shù)據(jù);

Solution: 8th Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/135990

使用Arcface檢測seen和unseen;

Solution: 10th Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/136815

Solution: 14th Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/136021

Solution: 24th Place

https://www.kaggle.com/c/bengaliai-cv19/discussion/136064

論壇上還有很多比賽總結(jié),非常值得學(xué)習(xí)~

個(gè)人總結(jié)

  • 沒有免費(fèi)的午餐:任何B榜得分雖然有一定運(yùn)氣,但還是實(shí)力說了算。所以要認(rèn)真閱讀比賽數(shù)據(jù),不要有摸獎(jiǎng)心思;

  • 數(shù)據(jù)、模型和損失函數(shù):為了精度,這三者都可以起作用;

  • 評價(jià)函數(shù)和后處理:也會(huì)一定程度影響精度;

雖然這次比賽翻車了,但top選手都有各自的可取之處(讓人大開眼界),所以無腦調(diào)參不可取,要從具體的數(shù)據(jù)分析,找到突破點(diǎn);

也可以看下包佬對此次比賽的總結(jié):

https://zhuanlan.zhihu.com/p/114131221

往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)在線手冊AI基礎(chǔ)下載(pdf更新到25集)本站qq群1003271085,加入微信群請回復(fù)“加群”獲取一折本站知識星球優(yōu)惠券,請回復(fù)“知識星球”喜歡文章,點(diǎn)個(gè)在看

總結(jié)

以上是生活随笔為你收集整理的Kaggle | Bengali 比赛总结(孟加拉字符分类 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。