最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

真實(shí)的算法工作總結(jié)!

2022-08-18 09:38 作者:計(jì)算機(jī)視覺life  | 我要投稿

原文鏈接:https://mp.weixin.qq.com/s/dS8J68sxv5Mmkk1Qcj6ycA

本文轉(zhuǎn)載自極市平臺(tái),僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。

導(dǎo)讀

今天不談學(xué)術(shù),來和大家談?wù)勛鏊惴üこ處煹哪切┠辍疚淖髡呓Y(jié)合自身經(jīng)驗(yàn),分享在項(xiàng)目和業(yè)務(wù)中的解決問題的思路和方法,也歡迎大家一起參與討論!?

前言

工作剛好三年了,抽空復(fù)盤一下這些年做的一些工作經(jīng)驗(yàn),不談算法細(xì)節(jié),畢竟我只會(huì)煉丹(手動(dòng)狗頭),講一講自己的解決問題的一種思路,歡迎大家溝通交流。

項(xiàng)目思路

不管是什么項(xiàng)目,分類,分割,檢測(cè)或者生成都好,業(yè)務(wù)的需求總是第一位的,場(chǎng)景的適配第二位,模型的選取以及算法調(diào)優(yōu)最后。業(yè)務(wù)->場(chǎng)景->模型->調(diào)優(yōu)

舉個(gè)栗子

如果是做OCR的識(shí)別,大部分工業(yè)應(yīng)用的場(chǎng)景都是文檔圖片或者廣告圖片的文本識(shí)別,這些文本有個(gè)特點(diǎn)就是橫平豎直(當(dāng)然由于拍攝會(huì)導(dǎo)致扭曲),最常用的就是各種卡證的識(shí)別,身份證,銀行卡諸如此類,這一類具有非常規(guī)則的版面,所以不需要太復(fù)雜的版面分析以信息抽取的算法就可以拿到想要的關(guān)鍵字段。

那么算法選型上,對(duì)于檢測(cè)來說,EAST完全可以cover這個(gè)場(chǎng)景了,更甚的來說,我可以設(shè)置先驗(yàn)框,都不需要檢測(cè)模型;剛也說到了,卡片類的文本都是橫屏豎直的,其實(shí)用CRNN已經(jīng)可以很好的做到識(shí)別了。

目前很多的paper都是再做spotter或者復(fù)雜場(chǎng)景下的扭曲文本識(shí)別,這些文章的方法都很新穎指標(biāo)上也非常的solid。spotter實(shí)際業(yè)務(wù)不會(huì)怎么使用的,因?yàn)閷?shí)際的業(yè)務(wù)來說,更希望各個(gè)模塊可以解耦,這樣會(huì)給開發(fā)者更多的callback反饋以及應(yīng)對(duì)業(yè)務(wù)需求的變更。

扭曲文本的識(shí)別實(shí)際上應(yīng)用的場(chǎng)景也比較少,剛也提到了大部分的識(shí)別還是橫平豎直的,雖然會(huì)有部分的傾斜或者形變,不過通過前置算法的處理以及合生數(shù)據(jù)的方法都能很好的解決問題。

算法能夠提升可能只有1-2%點(diǎn),但是你數(shù)據(jù)做的很差,那么就會(huì)差距幾十個(gè)點(diǎn),對(duì)于OCR場(chǎng)景來說如何做好數(shù)據(jù)至關(guān)重要,因?yàn)檎鎸?shí)的數(shù)據(jù)標(biāo)注是非常困難的,成本也很高。

大概的一個(gè)流程如下, 哪個(gè)模塊有問題就去針對(duì)性優(yōu)化。定位模塊->文本檢測(cè)->文本矯正->文本識(shí)別->版面分析->關(guān)鍵字提取

再舉個(gè)栗子

做實(shí)際業(yè)務(wù)的分類,會(huì)遇到很多的問題,數(shù)據(jù)不均衡,數(shù)據(jù)長(zhǎng)尾,極端情況下,部分類別只有個(gè)位數(shù)的數(shù)據(jù)。一般來說,大類的數(shù)據(jù)對(duì)于整體業(yè)務(wù)的提升會(huì)更明顯,所以高優(yōu)的類別非常重要,不管是召回還是精度都要高。小類可能受眾群體小,但是價(jià)值高,所以也需要重視。至于怎么定位是否高優(yōu),這個(gè)還是要看業(yè)務(wù)需求來的。

圖片
數(shù)據(jù)分布情況

通用流程如下, 最重要的不是模型和算法而是針對(duì)場(chǎng)景的數(shù)據(jù)分析,要不斷的重復(fù)這個(gè)流程。數(shù)據(jù)預(yù)處理->數(shù)據(jù)重|欠采樣->模型選取->調(diào)優(yōu)增強(qiáng)->損失調(diào)優(yōu)->數(shù)據(jù)分析

可以通過評(píng)估混淆矩陣,看哪幾個(gè)類別沒有分開,分析為什么沒有分開,這里就要考慮幾點(diǎn)了,是因?yàn)閿?shù)據(jù)標(biāo)注的問題?還是因?yàn)閿?shù)據(jù)本身相似度太高?還是因?yàn)閿?shù)據(jù)偏向理解性質(zhì),只有l(wèi)abel無法很好的學(xué)習(xí)到特征?

分析好以后,可以嘗試通過聚類,偽標(biāo)簽,多標(biāo)簽,多模態(tài)等方案去解決這些問題。

至于算法層面來說,大部分的trick都是通用性質(zhì)的,簡(jiǎn)單說來就是會(huì)讓好的類變的更好,差的類還是沒有效果。不能從根本上解決這個(gè)問題,我常說的一句話就是數(shù)據(jù)是下限,算法盡量提升下限接近模型的上限。

當(dāng)然不同的模型會(huì)帶來不同的收益,我們不需要考慮模型的結(jié)構(gòu)也不需要考慮各種五花八門的attention,只需要考慮模型容量即可,只要容量足夠,能夠獲取的信息就更加豐富,不用關(guān)心是否冗余,因?yàn)槟愕挠?xùn)練數(shù)據(jù)都是足夠多的。

只要條件允許,能上大模型自然就是上大模型,條件不允許也可以通過大模型->偽標(biāo)簽|蒸餾->小模型的方法。當(dāng)然了,這個(gè)也要看訓(xùn)練的時(shí)間和成本,無腦上大模型都是在成本預(yù)算足夠多的情況下,比如V100 32G 訓(xùn)練imagenet-R50,90個(gè)epoch,只需要7個(gè)小時(shí)左右,但是跑Swin-tiny,ConveXt-tiny需要用到2-3天的時(shí)間。對(duì)于我來說,認(rèn)為這個(gè)就是負(fù)向收益,雖然他們最終會(huì)高2-3個(gè)點(diǎn)的精度,但是這幾個(gè)點(diǎn)可以通過其他的方法補(bǔ)齊。

當(dāng)然,真實(shí)場(chǎng)景下的業(yè)務(wù)數(shù)據(jù)是具備一定的時(shí)延性的,如果是長(zhǎng)期維護(hù)的模型,一定是要不斷進(jìn)行數(shù)據(jù)迭代和清洗的,方法的話可以理解為主動(dòng)學(xué)習(xí)

圖片
主動(dòng)學(xué)習(xí)

數(shù)據(jù)處理講完了,這里列舉幾個(gè)經(jīng)常用的提升性能的方法

適當(dāng)容量模型->大的分辨率->無監(jiān)督pretrain(時(shí)間充足情況,幾輪數(shù)據(jù)迭代收益就吃沒了)->自監(jiān)督|偽標(biāo)簽|noise student->ensemble|distill->fixres->sam->ema|swa

圖片
流程

還有一些方法,labelsmooth,?mixup,或者調(diào)整學(xué)習(xí)率和優(yōu)化器,這些可以看我以前寫的文章淺談分割調(diào)優(yōu)

有的時(shí)候在解決問題上,復(fù)雜的問題需要拆分成為細(xì)小的問題,一點(diǎn)點(diǎn)的去優(yōu)化,而不是一次性的解決,這樣可以透過問題去看本質(zhì),搞清楚到底需要怎么去做才能解決這個(gè)難點(diǎn),所以模型整體流程解耦很重要。有時(shí)候也是需要一點(diǎn)試錯(cuò)的,在時(shí)間和條件允許的情況下。

模型選取

對(duì)于分類問題來說,模型并不是特別重要的選擇。但是對(duì)于檢測(cè),分割等任務(wù),模型的選取還是在一定程度上會(huì)影響業(yè)務(wù)結(jié)果的。

對(duì)于檢測(cè)來說,有幾個(gè)選取方向,第一個(gè)就是采用anchor-base還是anchor-free的方法。anchor-free的好處就是偏向heatmap,對(duì)于密集場(chǎng)景效果會(huì)更好一些,但是有個(gè)問題就是bbox經(jīng)常抖動(dòng),不夠穩(wěn)定,之前有嘗試過centernet系列,就算物體不動(dòng),也會(huì)不停的抖動(dòng)。第二個(gè)就是采用YOLO系列,還是采用FastRcnn系列,當(dāng)然也會(huì)有人延續(xù)SSD系列,優(yōu)化速度和性能。不過通常來說,選一個(gè)受眾廣的模型,衍生的優(yōu)化,講解以及變體的文章會(huì)更多,更利于查缺補(bǔ)漏。

對(duì)于分割來說,比較出名的就是UNet,DeepLabv3等,如果是語義分割,DeepLabv3效果還是不錯(cuò)的,因?yàn)檎Z義并不是很在意物體分割出來的邊緣,但是如果是摳圖或者前景分割,那么UNet結(jié)構(gòu)會(huì)更合適,DeepLab系列更加刻畫類間區(qū)分,而不是邊緣細(xì)致問題??梢钥次抑暗奈恼拢?/p>

有時(shí)候會(huì)遇到一些模型輕量化的優(yōu)化,那么選擇模型一定是要自己很熟悉的結(jié)構(gòu),這樣改動(dòng)起來能夠降低試錯(cuò)成本。

業(yè)務(wù)&paper

雖然Transformer大火,paper層出不窮,不過還是存在很多的問題,對(duì)于我來說很重要的一個(gè)事情就是訓(xùn)練的收益情況,因?yàn)槎唐趦?nèi)不能有模型效果產(chǎn)出就等價(jià)于沒工作(手動(dòng)狗頭)。所以很多的時(shí)候現(xiàn)有一個(gè)可用的版本以后再去研究是否新的模型,新的算法能夠給你帶來另一個(gè)收益價(jià)值,畢竟close set和open set之間還是存在很大的一個(gè)diff。

當(dāng)然,如果是刷比賽或者寫paper,研究新的算法,挖新的坑是不可避免的,沒有學(xué)術(shù)界的蓬勃發(fā)展也不會(huì)有如今工業(yè)出色的resnet模型誕生。不過工作畢竟和paper不太一樣, 考慮的問題更多,場(chǎng)景更加復(fù)雜,這個(gè)時(shí)候遵循奧卡姆剃刀原則可能是一個(gè)比較好的方法。

工作多了,模型練的有一定經(jīng)驗(yàn)了就會(huì)發(fā)現(xiàn),大部分花心思的時(shí)間還是在處理數(shù)據(jù),搞數(shù)據(jù),分析bad case上,對(duì)于模型的改動(dòng)基本上帶來不了實(shí)際的價(jià)值了。更多的時(shí)候都是針對(duì)case來進(jìn)行調(diào)優(yōu),改動(dòng)數(shù)據(jù)增強(qiáng),調(diào)整訓(xùn)練方法,調(diào)整loss等等。數(shù)據(jù)處理和分析的比較好,有時(shí)候會(huì)發(fā)現(xiàn)自己設(shè)計(jì)的模型結(jié)構(gòu)甚至可以齊平或者超過最solid paper的方法^-^。

以上內(nèi)容都是基于自己的情況來進(jìn)行分析的,肯定存在一些不合理的地方,理性看待^-^。

獨(dú)家重磅課程官網(wǎng):cvlife.net

圖片

全國最大的機(jī)器人SLAM開發(fā)者社區(qū)

圖片


技術(shù)交流群


圖片


—? ?版權(quán)聲明? —

本公眾號(hào)原創(chuàng)內(nèi)容版權(quán)屬計(jì)算機(jī)視覺life所有;從公開渠道收集、整理及授權(quán)轉(zhuǎn)載的非原創(chuàng)文字、圖片和音視頻資料,版權(quán)屬原作者。如果侵權(quán),請(qǐng)聯(lián)系我們,會(huì)及時(shí)刪除。

真實(shí)的算法工作總結(jié)!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
新干县| 讷河市| 清水县| 申扎县| 吕梁市| 丹凤县| 江陵县| 商河县| 平原县| 军事| 乐至县| 古蔺县| 宜都市| 津南区| 咸阳市| 乐清市| 秦安县| 南岸区| 诸暨市| 布拖县| 贡山| 永兴县| 响水县| 林芝县| 鹤峰县| 肃南| 徐汇区| 合山市| 历史| 安岳县| 金门县| 镇远县| 新巴尔虎左旗| 黄冈市| 拉孜县| 巴林左旗| 庆安县| 莱芜市| 十堰市| 淮南市| 开鲁县|