成人av在线资源一区,亚洲av日韩av一区,欧美丰满熟妇乱XXXXX图片,狠狠做五月深爱婷婷伊人,桔子av一区二区三区,四虎国产精品永久在线网址,国产尤物精品人妻在线,中文字幕av一区二区三区欲色
    您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
    此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
    人工智能學(xué)術(shù) 正文
    發(fā)私信給xyhncepu
    發(fā)送

    0

    2019 Kaggle Freesound 音頻標(biāo)注挑戰(zhàn)賽結(jié)果出爐,這是一份排名前 2 %的解決方案!

    本文作者: xyhncepu 編輯:幸麗娟 2019-07-03 10:32
    導(dǎo)語(yǔ):一步步教你怎么復(fù)現(xiàn)!

    雷鋒網(wǎng) AI 科技評(píng)論按:日前,2019 年 Kaggle Freesound 音頻標(biāo)注挑戰(zhàn)賽宣告完結(jié),比賽結(jié)果也終于出爐。參賽者之一 Eric BOUTEILLON 是全球無(wú)縫支付解決方案提供商銀捷尼科集團(tuán)(Ingenico Group)的一位產(chǎn)品負(fù)責(zé)人,他提交的解決方案在本次比賽中進(jìn)入前 2% 排名,取得了第 8 名的成績(jī),日前,他將解決方案分享在了 Github 上,詳細(xì)地介紹了該方案的復(fù)現(xiàn)步驟。

    本開(kāi)源庫(kù)的出發(fā)點(diǎn)

    本開(kāi)源庫(kù)提供了一個(gè)用于創(chuàng)建高效音頻標(biāo)注系統(tǒng)的半監(jiān)督預(yù)熱管道,以及面向作者命名為 SpecMix 的多標(biāo)簽音頻標(biāo)注的一種新的數(shù)據(jù)增強(qiáng)技術(shù)。

    在提交給 2019 年 Kaggle freesound 音頻標(biāo)注挑戰(zhàn)賽的音頻標(biāo)注系統(tǒng)中,我們應(yīng)用了這些新技術(shù)。該挑戰(zhàn)賽是聲學(xué)場(chǎng)景和事件檢測(cè)和分類(lèi)挑戰(zhàn)(DCASE 2019)的第二項(xiàng)任務(wù)挑戰(zhàn),目標(biāo)包括使用在少量可靠、手動(dòng)標(biāo)注的數(shù)據(jù)以及擁有大規(guī)模詞匯設(shè)置的多標(biāo)簽音頻標(biāo)注任務(wù)中的大量噪聲網(wǎng)絡(luò)音頻數(shù)據(jù)上訓(xùn)練的機(jī)器學(xué)習(xí)技術(shù),來(lái)為每一測(cè)試幀預(yù)測(cè)音頻標(biāo)簽。

    TL;DR – 給我代碼!

    在挑戰(zhàn)賽的公共排行榜上,該解決方案通過(guò) Jupyter notebooks 運(yùn)行得到的 lwlrap 值為 0.738,也就是說(shuō)在本次比賽中排名第 8。

    你還可以在公開(kāi)的 Kaggle 數(shù)據(jù)集中找到 CNN-model-1 和 VGG-16 訓(xùn)練的權(quán)重結(jié)果。需要注意的是,因?yàn)榕漕~原因,作者沒(méi)有使用  git-lfs 將這些權(quán)重結(jié)果存儲(chǔ)下來(lái)。

    安裝

    該挑戰(zhàn)賽要求參賽者在 Kaggle 內(nèi)核中執(zhí)行推理而不改變其配置。因此,參賽者在比賽期間使用與 Kaggle 內(nèi)核配置相同版本的 pytorch 和 fastai 來(lái)加載本地生成的 CNN 權(quán)重是非常重要的。因此,參賽者選擇使用 pytorch 1.0.1 和 fastai 1.0.51 非常重要。

    安裝方法 1:使用原作者的方法

    要獲得與我的本地系統(tǒng)相同的配置,需在 GNU Linux Ubuntu 18.04.2 LTS 上測(cè)試以下步驟:

    1、克隆這個(gè)開(kāi)源庫(kù):

    git clone https://github.com/ebouteillon/freesound-audio-tagging-2019.git

    2、安裝 anaconda3:https://docs.anaconda.com/anaconda/install/

    3、輸入 linux 終端:

    conda create --name freesound --file spec-file.txt

    現(xiàn)在你已經(jīng)準(zhǔn)備好了!

    注意:我的配置已經(jīng)安裝了 CUDA 10,所以你可能必須根據(jù)自己在 spec-file.txt 中的配置調(diào)整 pytorch 和 cudatoolkit 的版本。

    安裝方法 2 :使用 conda 推薦的軟件包

    這個(gè)方法不能保證獲得與作者相同的配置,因?yàn)?conda 可能會(huì)更新安裝包。

    1、克隆這個(gè)開(kāi)源庫(kù):

    git clone https://github.com/ebouteillon/freesound-audio-tagging-2019.git

    2、安裝 anaconda3

    3、輸入 linux 終端:

    conda update conda

    conda create -n freesound python=3.7 anaconda

    conda activate freesound

    conda install numpy pandas scipy scikit-learn matplotlib tqdm seaborn pytorch==1.0.1 torchvision cudatoolkit=10.0 fastai==1.0.51 -c pytorch -c fastai

    conda uninstall --force jpeg libtiff -y

    conda install -c conda-forge libjpeg-turbo

    CC="cc -mavx2" pip install --no-cache-dir -U --force-reinstall --no-binary :all: --compile pillow-simd

    conda install -c conda-forge librosa

    注意:

    • 我的配置已經(jīng)安裝了 CUDA 10,所以你可能需要根據(jù)自己的配置調(diào)整 pytorch 和 cudatoolkit 的版本

    • 你獲得的提醒可能不一致,因?yàn)槲覀兪褂玫氖?libjpeg-turbo

    硬件/軟件

    在挑戰(zhàn)賽期間,我使用了如下硬件/軟件配置:

    • 英特爾酷睿 i7 4790k

    • 英偉達(dá) RTX 2080 ti

    • 24 GB RAM

    • Ubuntu 18.04.2 LTS

    • 安裝的 python 軟件包的詳細(xì)列表,另外在 requirements.txt 和 spec-file.txt 中可以獲取 conda(非常必要)。

    • 英偉達(dá)驅(qū)動(dòng)程序 418.67, CUDA 10.1, CuDNN 7.3.1

    復(fù)現(xiàn)結(jié)果

    1、從 Kaggle 下載數(shù)據(jù)集(https://www.kaggle.com/c/freesound-audio-tagging-2019/data

    2、(選擇項(xiàng))從 Kaggle 下載我的權(quán)重?cái)?shù)據(jù)集(https://www.kaggle.com/ebouteillon/freesoundaudiotagging2019ebouteillonsolution

    3、解壓 input 文件夾解壓數(shù)據(jù)集,使你的環(huán)境如下:

    ── code
    │   ├── inference-kernel.ipynb
    │   ├── training-cnn-model1.ipynb
    │   └── training-vgg16.ipynb
    ├── images
    │   ├── all_augmentations.png
    │   └── model-explained.png
    ├── input
    │   ├── test│   │   └── ...
    │   ├── train_curated
    │   │   └── ...
    │   ├── train_noisy
    │   │   └── ...
    │   ├── sample_submission.csv
    │   ├── train_curated.csv
    │   ├── train_noisy.csv
    │   └── keep.txt
    ├── LICENSE
    ├── README.md
    ├── requirements.txt
    ├── spec-file.txt
    └── weights
       ├── cnn-model-1
       │   └── work
       │       ├── models
       │       │   └── keep.txt
       │       ├── stage-10_fold-0.pkl
       │       ├── ...
       │       └── stage-2_fold-9.pkl
       └── vgg16
           └── work
               ├── models
               │   └── keep.txt
               ├── stage-10_fold-0.pkl
               ├── ...
               └── stage-2_fold-9.pkl

    3、輸入命令行:

    conda activate freesound

    jupyter notebook

    打開(kāi)網(wǎng)頁(yè)瀏覽器,然后選擇要執(zhí)行的內(nèi)容。推薦順序如下:

    祝你愉快!

    注意:

    • 首先運(yùn)行 training-*.ipynb,訓(xùn)練其中一個(gè)模型。?

    • 在 CNN 模型訓(xùn)練中,將創(chuàng)建一個(gè) work 文件夾和一個(gè) PREPROCESSED 文件夾,你可能想要更改它們的位置:這與更新 work PREPROCESSED 變量一樣簡(jiǎn)單。

    • 如果你想在本地設(shè)置中與推理筆記一同使用給定的(或你自己得到的)權(quán)重,只需更新 models_list 所指向的文件夾路徑。我保留了在本次挑戰(zhàn)賽中 Kaggle 內(nèi)核所使用的路徑。

    • 使用了  Kaggle 數(shù)據(jù)集和我的權(quán)重?cái)?shù)據(jù)集的推理內(nèi)核可以直接在  Kaggle  上獲取:

      https://www.kaggle.com/ebouteillon/12th-public-lb-inference-kernel-using-fastai

    解決方案概述

    音頻數(shù)據(jù)預(yù)處理

    首先對(duì)音頻片段進(jìn)行前端和末端靜音(閾值為 60 dB)的裁剪,然后以 44.1 kHz 的采樣速率、連續(xù)幀之間樣本的 347 的躍點(diǎn)長(zhǎng)度、2560 個(gè) FFT 組件及 20 Hz - 22050 Hz 范圍內(nèi)的頻率將音頻片段轉(zhuǎn)換成 128 波段的梅爾頻譜(mel-spectrogram)。最后是預(yù)處理,包括對(duì)得到的圖像進(jìn)行正則化(均值=0,方差=1)處理,并將其復(fù)制到 3 個(gè)通道中。

    模型概述

    在本節(jié)中,我們將所使用的神經(jīng)網(wǎng)絡(luò)架構(gòu)描述為:

    • 版本 1 由表 1 中自定義 CNN「CNN-model-1」和批量歸一化的 VGG-16 組成。兩者都以同樣的方式接受訓(xùn)練。

    • 版本 2 只包含我們自定義的 CNN「CNN-model-1」,定義見(jiàn)表 1。

    • 版本 3 用于評(píng)估判別的獎(jiǎng)勵(lì),該版本的模型與版本 2 相同。

    2019 Kaggle Freesound 音頻標(biāo)注挑戰(zhàn)賽結(jié)果出爐,這是一份排名前 2 %的解決方案!

    表 1:CNN-model-1。BN 指批量歸一化(Batch Normalisation),ReLU 指線性整流函數(shù)(Rectified Linear Unit)

    數(shù)據(jù)增強(qiáng)

    利用小型訓(xùn)練集的一種重要技術(shù)是使用數(shù)據(jù)增強(qiáng)來(lái)擴(kuò)充該訓(xùn)練集。為此,我們開(kāi)發(fā)了一個(gè)名為 SpecMix 的新的數(shù)據(jù)增強(qiáng)方法。它是對(duì) SpecAugment(見(jiàn)參考文獻(xiàn) 1)的擴(kuò)展,靈感來(lái)源于 mixup(見(jiàn)參考文獻(xiàn) 2)。

    SpecAugment 應(yīng)用 3 種轉(zhuǎn)換來(lái)增強(qiáng)訓(xùn)練樣本:時(shí)間規(guī)整、頻率掩蔽和時(shí)間掩蔽。

    mixup 通過(guò)計(jì)算兩個(gè)樣本輸入與目標(biāo)的加權(quán)平均值來(lái)創(chuàng)建虛擬訓(xùn)練示例。

    SpecMix

    SpecMix 從 SpecAugment 的兩個(gè)最有效的轉(zhuǎn)換中受到啟發(fā),并對(duì)它們進(jìn)行擴(kuò)展以創(chuàng)建虛擬多標(biāo)注訓(xùn)練示例:

    1、使用頻率替換(Frequency replacement)的方法,讓 f 連續(xù)的梅爾頻率通道 [f0, f0+f) 由另一個(gè)訓(xùn)練樣本代替,后者其中的 f 首先從頻率掩膜參數(shù) F 的最小化值到最大化值的均勻分布中選取,而 f0 從 [0, ν?f) 中選取,v 表示梅爾頻率通道的數(shù)量。

    2、使用時(shí)間替換(Time replacement)的方法,t 連續(xù)的時(shí)間步長(zhǎng) [t0, t0+t) 由另一個(gè)訓(xùn)練樣本代替,后者期期中的 t 首先從 0 到時(shí)間掩膜參數(shù) T 的均勻分布中選取,而 t0 則從[0, τ?t) 中選取,τ 表示時(shí)間樣本的數(shù)量。

    3、計(jì)算新訓(xùn)練樣本的目標(biāo)(Target)用作每個(gè)原始樣本的加權(quán)平均權(quán)重。每個(gè)原始樣本的權(quán)重與該樣本的像素?cái)?shù)量成正比。我們?cè)陬l率替換和時(shí)間替換中所采用的替換樣本是相同的,這給了我們新的計(jì)算目標(biāo)如下: 

    2019 Kaggle Freesound 音頻標(biāo)注挑戰(zhàn)賽結(jié)果出爐,這是一份排名前 2 %的解決方案!

    2019 Kaggle Freesound 音頻標(biāo)注挑戰(zhàn)賽結(jié)果出爐,這是一份排名前 2 %的解決方案!

    圖 1:mixup, SpecAugment 及 SpecMix 對(duì)比

    其他的數(shù)據(jù)增強(qiáng)

    我們添加了其他的數(shù)據(jù)增強(qiáng)技術(shù)。

    • SpecMix 之前使用 mixup 這一數(shù)據(jù)增強(qiáng)方法,得到一個(gè)小的改進(jìn)(lwlrap 增加了+0.001)。首先將 mixup 應(yīng)用于當(dāng)前的批量處理,從而生成新樣本,然后將 SpecMix 應(yīng)用于這些新創(chuàng)建的樣本。最后,將 mixup 和 SpecMix 結(jié)合應(yīng)用到四個(gè)樣本上,最終生成單個(gè)樣本。

    • 縮放和裁剪:在 1 到最大值 105 之間的隨機(jī)縮放,使用 75% 的概率,可以得到一個(gè)小的改善(lwlrap 增加了+0.001)。

    • 亮度:使用 75% 的概率來(lái)控制隨機(jī)亮度和對(duì)比度的變化。

    訓(xùn)練---預(yù)熱管道

    在訓(xùn)練時(shí),我們將隨機(jī)抽取的樣本梅爾頻譜中 128 個(gè)增強(qiáng)的片段提供給網(wǎng)絡(luò)批量,并使用 十折交叉驗(yàn)證設(shè)置和 fastai 庫(kù)(見(jiàn)參考文獻(xiàn) 4)。

    訓(xùn)練分 4 個(gè)階段進(jìn)行,每個(gè)階段生成一個(gè)模型用于以下 3 件事:

    • 為下一階段的模型訓(xùn)練做 預(yù)熱

    • 幫助對(duì)噪聲因素進(jìn)行半監(jiān)督選擇

    • 參與測(cè)試預(yù)測(cè)(模型 1 除外)

    本次比賽很重要的一點(diǎn)是不允許使用外部數(shù)據(jù)或預(yù)先訓(xùn)練的模型。因此,我們下面展示的是本次比賽中僅使用的策展和噪聲集:

    • 第 1 階段:僅使用噪聲集從零開(kāi)始訓(xùn)練模型(model1),然后在噪聲集(lwlrap1)上計(jì)算交叉驗(yàn)證的 lwlrap。

    • 第 2 階段:僅在策展集上訓(xùn)練模型(模型 2),但使用模型 1 作為預(yù)訓(xùn)練模型。然后在噪聲集(lwlrap2)上計(jì)算交叉驗(yàn)證的 lwlrap。

    • 第 3 階段:讓我們開(kāi)始半監(jiān)督學(xué)習(xí):我們的算法從噪聲集中選擇樣本,模型 1 和模型 2 對(duì)該噪聲集進(jìn)行的分類(lèi)(基本)正確。該算法避免樣本受噪聲的干擾,并使幾何平均值(lwlrap1,lwlrap2)大于或等于 0.5。每個(gè)文件和每個(gè)標(biāo)注最多選擇 5 個(gè)樣本。然后在選定的噪聲樣本上訓(xùn)練模型(模型 3),并使用模型 2 作為預(yù)訓(xùn)練模型。然后在噪聲集(lwlrap3)上計(jì)算交叉驗(yàn)證的 lwlrap。

    • 第 4 階段:讓我們繼續(xù)半監(jiān)督學(xué)習(xí):我們的算法再次從模型 3 嚴(yán)格正確分類(lèi)的噪聲集中選擇樣本。該算法避免樣本受噪聲的干擾,并使 lwlrap3 = 1。然后在選定的噪聲樣本上訓(xùn)練模型(模型 4),并使用模型 3 作為預(yù)訓(xùn)練模型。

    • 最后一個(gè)階段:模型 2、模型 3 和模型 4 對(duì)測(cè)試集的集成預(yù)測(cè)。

     

    2019 Kaggle Freesound 音頻標(biāo)注挑戰(zhàn)賽結(jié)果出爐,這是一份排名前 2 %的解決方案!

    圖 2:預(yù)熱管道

    推理

    為了進(jìn)行推理,我們將 128 個(gè)時(shí)間樣本(2 秒)窗口中的測(cè)試音頻片段進(jìn)行分割,其中的窗口是重疊的。然后將這些樣本輸入到我們的模型,以獲得預(yù)測(cè)結(jié)果。將所有鏈接到音頻片段的預(yù)測(cè)結(jié)果進(jìn)行平均,以獲得最終預(yù)測(cè)結(jié)果。

    這次競(jìng)賽對(duì)測(cè)試預(yù)測(cè)推斷存在很大的限制:必須通過(guò) Kaggle 內(nèi)核進(jìn)行提交,并且有時(shí)間限制。由于我們的解決方案需要 GPU,對(duì)于完全未見(jiàn)過(guò)的測(cè)試集的推斷需要在不到一個(gè)小時(shí)內(nèi)完成。

    為了適應(yīng)這個(gè)硬性約束條件,我們做了如下決定:

    • 對(duì)所有模型使用相同的預(yù)處理和輸入;

    • 將最終的集成限制為 2 個(gè)模型;

    • 限制窗口的重疊;

    • 組織者所提供的未見(jiàn)過(guò)的測(cè)試集是公開(kāi)測(cè)試集的三倍多所以我們確保在 1000 秒之內(nèi)推斷出公開(kāi)測(cè)試集,這樣的話,就應(yīng)該讓內(nèi)核在大約為 3000 秒的時(shí)間內(nèi)推斷出未見(jiàn)過(guò)的測(cè)試集,并確保時(shí)間波動(dòng)的范圍在 20% 上下。

    結(jié)果

    為了評(píng)估系統(tǒng)的性能,我們?cè)诒?2 中展示了結(jié)果。結(jié)果包括,系統(tǒng)在經(jīng)過(guò)十折交叉驗(yàn)證過(guò)的噪聲集和策展集上的性能評(píng)估,以及在公共排行榜上進(jìn)行公告的測(cè)試集預(yù)測(cè)的評(píng)估值,使用的度量標(biāo)準(zhǔn)是 lwlrap(標(biāo)注權(quán)重與標(biāo)注排序的平均精度)

    Model
     lwlrap noisy
    lwlrap curatedleaderboard
    model1
    0.65057
    0.41096
    N/A
    model2
    0.38142
    0.86222
    0.723
    model3 
    0.56716
    0.87930 
    0.724
    model4 
    0.57590
    0.87718
    0.724
    ensemble
    N/A
    N/A0.733

     表 2:使用預(yù)熱管道對(duì) CNN-model-1 進(jìn)行實(shí)證分析的結(jié)果

    在試驗(yàn)過(guò)程中,預(yù)熱管道各階段均生成了具有良好預(yù)測(cè)性能的模型。如圖 3 所示,每個(gè)模型都在公共排行榜上排名第 25 位,能夠讓我們獲得銀牌。此外,這些預(yù)熱模型本身帶來(lái)了足夠的多樣性,因?yàn)樗鼈冾A(yù)測(cè)值的簡(jiǎn)單平均值(lwlrap 0.733)在公共排行榜上排名第 16 位。

    最終排名第 8 名的預(yù)測(cè)結(jié)果是由版本 1 產(chǎn)生,這是 CNN-model-1 和 VGG-16 給出的預(yù)測(cè)平均值,它們都以相同的方式訓(xùn)練。 

    2019 Kaggle Freesound 音頻標(biāo)注挑戰(zhàn)賽結(jié)果出爐,這是一份排名前 2 %的解決方案!

    圖 3:排行榜

    結(jié)論

    本 git 開(kāi)源庫(kù)提供了一個(gè)用于創(chuàng)建高效音頻標(biāo)注系統(tǒng)的半監(jiān)督預(yù)熱管道,以及面向作者命名為 SpecMix 的多標(biāo)簽音頻標(biāo)注的一種新的數(shù)據(jù)增強(qiáng)技術(shù)。這些技術(shù)同時(shí)利用干凈的和有噪聲的數(shù)據(jù)集,并顯示出良好的效果。

    上述這些結(jié)果是可復(fù)現(xiàn)的,它的需求描述、復(fù)現(xiàn)的步驟和源代碼都可以在 GitHub1 上獲得。源代碼是在開(kāi)放源碼許可(MIT)下發(fā)布的。

    致謝

    感謝我 5 歲兒子,他的大力支持才使這些成績(jī)有了可能。當(dāng)我看著排行榜時(shí),他說(shuō):「爸爸,你是最棒的,你會(huì)成為最棒的。」

    我也感謝整個(gè) kaggle 社區(qū)分享知識(shí)、想法和代碼。特別感謝 daisuke 在比賽中提供了內(nèi)核程序,特別感謝 mhiro2 提供了簡(jiǎn)單 CNN 模型,并對(duì)所有的比賽組織者提出感謝。

    參考文獻(xiàn)

    [1] Daniel S. Park, William Chan, Yu Zhang, Chung-Cheng Chiu, Barret Zoph, Ekin D. Cubuk, Quoc V. Le, "SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition", arXiv:1904.08779, 2019.

    [2] Hongyi Zhang, Moustapha Cisse, Yann N. Dauphin, and David Lopez-Paz. "mixup: Beyondempirical risk minimization". arXiv preprint arXiv:1710.09412, 2017.

    [3] Eduardo Fonseca, Manoj Plakal, Frederic Font, Daniel P. W. Ellis, and Xavier Serra. "Audio tagging with noisy labels and minimal supervision". Submitted to DCASE2019 Workshop, 2019. URL: https://arxiv.org/abs/1906.02975

    [4] fastai, Howard, Jeremy and others, 2018, URL: https://github.com/fastai/fastai

    via https://github.com/ebouteillon/freesound-audio-tagging-2019#kaggle-freesound-audio-tagging-2019-competition  雷鋒網(wǎng)雷鋒網(wǎng)

    雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知

    2019 Kaggle Freesound 音頻標(biāo)注挑戰(zhàn)賽結(jié)果出爐,這是一份排名前 2 %的解決方案!

    分享:
    相關(guān)文章
    當(dāng)月熱門(mén)文章
    最新文章
    請(qǐng)?zhí)顚?xiě)申請(qǐng)人資料
    姓名
    電話
    郵箱
    微信號(hào)
    作品鏈接
    個(gè)人簡(jiǎn)介
    為了您的賬戶(hù)安全,請(qǐng)驗(yàn)證郵箱
    您的郵箱還未驗(yàn)證,完成可獲20積分喲!
    請(qǐng)驗(yàn)證您的郵箱
    立即驗(yàn)證
    完善賬號(hào)信息
    您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
    立即設(shè)置 以后再說(shuō)