182 чытанні

Машыннае навучанне для птушак: будаваць свой уласны класіфікатар вокалізацыі птушак

па pictureint...20m2025/06/09
Read on Terminal Reader

Занадта доўга; Чытаць

The BirdCLEF+ 2025 конкурс выклікае карыстальнікаў, каб распрацаваць мадэль класіфікацыі, якая можа дакладна прагаласаваць віды птушак з аўдыёзапісу. Гэтае кіраўніцтва падрабязна падыходзіць да падыходу да будаўніцтва ўласнай класіфікацыі вокалізацыі птушак, які можа быць выкарыстаны ў сувязі з класіфікацыяй GBV для класіфікацыі больш шырокага адбору відаў птушак. Адносіны выкарыстоўваюць тыя ж асноўныя тэхнікі, якія апісаны ў артыкуле Google Research Separating Birdsong in the Wild для класіфікацыі.
featured image - Машыннае навучанне для птушак: будаваць свой уласны класіфікатар вокалізацыі птушак
Picture in the Noise HackerNoon profile picture
0-item

Уваход

Далей глядзім на ключы - гэта такая прарэз на ніжняй баку планкі.autonomous recording units (ARUs)Гэта рэпрэсіўны механізм, які працуе на дыктатуру, можа быць выкарыстаны ў сучаснай навуковай літаратуры, а таксама ў сучаснай навуковай літаратуры.Песні птушак у жыцці для класіфікацыі«Аналіз паказаў, што выдатак кармавых адзінак на 1 кг прыбаўлення на старых комплексах значна перавышае гэтае значэнне на новых.

Песні птушак у жыцці для класіфікацыі

Неўзабаве, наBirdCLEF+ 2025Конкурс прайшоў наKaggleПад парашутам наІлюстрацыяImageCLEF падтрымлівае расследаванне ў крос-языковай анотацыі і выяўленне малюнкаў па розных галінах. Мета конкурсу з'яўляецца прамая: распрацаваць мадэль класіфікацыі, якая можа дакладна прагаласаваць віды птушак з аўдыёзапісу.

BirdCLEF+ 2025Ілюстрацыя

У першую чаргу, ён заклікаў вернікаў даваць сведчанне аб веры праз учынкі, а не толькі словы.Google Bird Vocalization (GBV) КласіфікатарТаксама вядомы якPerchКласіфікатар GBV навучаецца на каля 11 000 відаў птушак і таму з'яўляецца абсалютным выбарам як мадэль класіфікацыі.

Google Bird Vocalization (GBV) Класіфікатар

Тым не менш, у конкурсе ўключаюцца віды птушак, якія ляжаць за межамі набору навучання класіфікатара GBV. У выніку, класіфікатар GBV дасягае толькі ~60% дакладнасці на наборы дадзеных турніру BirdCLEF+ 2025.

Да гэтага часу кампанія атрымала ганаровае званне "Fujian Technology Enterprise" і сертыфікаты на сертыфікацыю HDMI Adopter. кампаніяй HDMI Licensing, LLC.СтатыстыкаВышэй згадваецца. дызайн выкарыстоўвае набор дадзеных конкурсу BirdCLEF+ 2025 для навучання.

Творчыя дадзеныя

ІBirdCLEF+ 2025 навучальныя дадзеныяУ абменным пункце No5 "Белпрамбудбанка" каля рынку райспажыўтаварыства ўчора, 14 верасня, вывесілі новы курс валюты.

birdclef_2025
|__ train_audio
|__ train_soundscapes
|__ test_soundscapes
recording_location.txt
taxonomy.csv
train.csv

train_audio

Іtrain_audioкаталог з'яўляецца найбуйнейшым кампанентам набору дадзеных, які змяшчае 28 564 навучальных аўдыёзапісаў у.oggАўдыёзапісы групоўваюцца ў пад-дырэгіёры, якія кожны з якіх адлюстроўваюць птушкі, напрыклад:

train_audio
|__amakin1
   |__ [AUDIO FILES]
|__amekes
   |__ [AUDIO FILES]
...

Іtaxonomy.csvфайлы могуць быць выкарыстаны для пошуку сапраўдных навуковых і агульных назваў відаў птушак, прадстаўленых назвамі пад-дырэктар, напрыклад:

SUB-DIRECTORY NAME          SCIENTIFIC NAME             COMMON NAME
amakin1                     Chloroceryle amazona        Amazon Kingfisher
amekes                      Falco sparverius            American Kestrel
...


Amazon Kingfisher


American Kestrel

У конкурсе ўдзельнічаюць 206 унікальных відаў птушак, т.е. 206 класаў.IntroductionЗ тых часоў мінула 63 гады.НеПакрытыя наGBV ClassifierЦіNon-GBVКласы звычайна пазначаюцца з дапамогай лічбавага ідэнтыфікатара класа:


1139490, 1192948, 1194042, 126247, 1346504, 134933, 135045, 1462711, 1462737, 1564122, 21038, 21116, 21211, 22333, 22973, 22976, 24272, 24292, 24322, 41663, 41778, 41970, 42007, 42087, 42113, 46010, 47067, 476537, 476538, 48124, 50186, 517119, 523060, 528041, 52884, 548639, 555086, 555142, 566513, 64862, 65336, 65344, 65349, 65373, 65419, 65448, 65547, 65962, 66016, 66531, 66578, 66893, 67082, 67252, 714022, 715170, 787625, 81930, 868458, 963335, grasal4, verfly, y00678

Некаторыя з іхNon-GBVКласы характарызуюцца:

  1. Limited training data.
    • Class 1139490, for example, only contains 2 audio recordings. By contrast, class amakin1, which is a “known” GBV class, contains 89 recordings.
  2. Poor recording quality.
    • Highlighting class 1139490 again, both training recordings are of poor quality with one being particularly difficult to discern.

Гэтыя два ўмовы прыводзяць да значнай небалансу паміж классамі ў параўнанні з колькасцю даступнага аўдыё і аўдыё якасці.

многія з якіх існуюць і цяпер.GBVіNon-GBVкласы таксама ўключаюць любую мову, з выкладчыкам анотацыі запісу з дэталямі, такімі як віды птушак, якія былі запісы і месца запісу.Але не ўсе- у выпадках, прыкметы адпавядаюць запісаным птушак вокалізацый.

Тактыкі, якія выкарыстоўваюцца для рашэння небалансу класаў і прысутнасці аннотацый гуманітарнай мовы, абмяркоўваюцца ўBuilding the ClassifierІ секцыі.

train_soundscapes

Іtrain_soundscapesУсяго налічваецца каля 10 000unlabeledПесні спяваем, але не вельмі разумеючы іх словы.Building the ClassifierНаступным крокам з'яўляецца выбар адпаведнага абсталявання дляpseudo-labeling.

test_soundscapes

Іtest_soundscapesКніга пустая, а не аreadme.txtГэты каталог папуляваны схаваным наборам тэставага аўдыё, калі вы адпраўляеце вынікі прагнозу на конкурс BirdCLEF+ 2025.

Стварэнне класіфікацыі

Базавы погляд і фоны

Кнігадрукаванне адкрыла шырокі шляхGoogle даследаванніДля вывучэння птушак вакалізацыі класіфікатар з'яўляецца наступным:

  1. Запішыце аўдыё ў 5 секундавых сегментах.
  2. Пераможцам тады стаў Катар.
  3. Навучыце класіфікатар малюнка на спектрограмах мела.

У гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.Эфектыўнасць B0Калі б ведалі, не рабілі б гэтага ўсяго.EfficientNet— Вы кажаце, што мозг забывае тое, што яму непатрэбна.

Эфектыўнасць B0

Тым не менш, перш чым аўдыёздымкі можна падзяліць і пераўтвараць у мельныя спектрограмы, мы маем справу з класовым небалансам і гуманнымі праблемамі анотацыі, згаданыя ўTraining DataГэта азначае таксама, што час выключэньня з базы скончыўся і трэба прадставіць новыя дакумэнты.

Але першыя крокі да іх вывучэння школьнікі робяць на ўроках інфарматыкі.

Эфектыўныя мадэлі

Google Research прадставіла сваю сям'юEfficientNetу 2019 годзе як наборconvolutional neural networkмадэлі, якія перавышалі найноўшыя мадэлі, у той час, у параўнанні як па размерах, так і ў выкананні.


EfficientNet model family performance

Эфектыўнасць 2мадэлі, выпушчаныя ў 2021 годзе, прапануюць яшчэ лепшую прадукцыю і параметравую эфектыўнасць.

Але, не зважаючы наІміджФактычна, прысвечаныя такому спорту як бокс, онлайн гульні заўсёды прызнаваліся нашмат больш цікавымі чым звычайныя аднакарыстальніцкія цацкі.

Мела Spectrograms

Мель спектраграма з'яўляецца візуальным прадстаўленнем аўдыёсигнал. Гэта можа быць найлепш аналагізаваны да цеплавай карты для гуку.


Sample mel spectrogram

Рымская імперыя распалася на 2 самастойныя часткі, кожная са сваім імператарам – Заходнюю і Усходнюю.mel bandsЗ іншага боку, такі імпэт быў створаны з дапамогайmel scaleМедыцынская скала аlogarithmicЯк адзначалася на многіх іншых сайтах, ён таксама можа ўнесці значны ўклад у распрацоўку электраэнергіі праз поле ў месцах, дзе навальнічных разрадаў не працуе наогул.

Дызайн

У гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.Загрузіць Notebook(«Трэнінг нотачок»), які складаецца з 4 асноўных секцый:

  • Частка 1: Загрузка дадзеных.
  • Частка 2: Аздабленне дадзеных.
  • Частка 3: Генерацыя спектраграмы і падрыхтоўка да ўводу.
  • Частка 4: Навiны па навучанні.

Вы заўважыце, што першыя 2 клінікі кожнага асноўнага раздзела з'яўляюцца (1) імпартам, які выкарыстоўваецца тым раздзелам і (2)ConfigГэта рэпрэсіўны механізм, які працуе на дыктатуру.

Кнігадрукаванне адкрыла шырокі шлях дляSection 0У гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.Weights & Biases("WandB") для працэдуры трэніроўкі. Вам трэба будзе далучыць свой уласны WandBAPI keyНапісаць ноты, як аKaggle SecretВыкарыстанне імяWANDB_API_KEY.

Як размаўлялі ўTraining DataУ абменным пункце No5 "Белпрамбудбанка" каля рынку райспажыўтаварыства ўчора, 14 верасня, вывесілі новы курс валюты.Section 3.5 - Pseudo-LabelingПамятаеце, што асяроддзі Kaggle, якія не з'яўляюцца GPU, абмежаваны да 30 GiB памяці.

Калі вы хочаце прымусіць свой мозг працаваць, прыходзьце ў Клуб інтэлектуальных гульняў УЗВ!

Калі вы хочаце прымусіць свой мозг працаваць, прыходзьце ў Клуб інтэлектуальных гульняў УЗВ!

Частка 1 - Загрузка дадзеных

ІAudio Data LoadingЧастка з нотатка:

  1. Вылучае тыя класы ў наборы дадзеных конкурсу BirdCLEF+ 2025, якія не пакрытыя класіфіката GBV.
  2. Загрузіць сыравыя аўдыёданныя з дапамогай метаду load_training_audio.
  3. Стварае каталог processed_audio і захоўвае копію загружаных аўдыёдадзеных як файлы .wav у той каталогу.

ІConfigГэтая частка аб'ядноўвае аMAX_FILESУ гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.1000Для забеспячэння работы мікра-ГЭС, водны струмень мусіць быць штучна створаны.non-GBVГэта так адказна – перадаваць веды новаму пакаленню!allКалі вы хочаце падзяліцца сваёй думкай з майстрам, рабіце гэта максімальна ветліва.

Іload_training_audioМожна называць аclassesУ гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.non-GBVКнігадрукаванне адкрыла шырокі шлях дляmissing_classesЯкую назначыць меру, вырашае суд.load_training_audioМетодыка з дапамогайclassesПа параметрах

# `missing_classes` list
['1139490', '1192948', '1194042', '126247', '1346504', '134933', '135045', '1462711', '1462737', '1564122', '21038', '21116', '21211', '22333', '22973', '22976', '24272', '24292', '24322', '41663', '41778', '41970', '42007', '42087', '42113', '46010', '47067', '476537', '476538', '48124', '50186', '517119', '523060', '528041', '52884', '548639', '555086', '555142', '566513', '64862', '65336', '65344', '65349', '65373', '65419', '65448', '65547', '65962', '66016', '66531', '66578', '66893', '67082', '67252', '714022', '715170', '787625', '81930', '868458', '963335', 'grasal4', 'verfly', 'y00678']

Вы можаце загрузіць усе 206 класаў BirdCLEF+ 2025 праз пусты спіс як параметр класаў.

Вы можаце загрузіць усе 206 класаў BirdCLEF+ 2025 праз прасты спіс якclassesПа параметрах


Мета load_training_audio таксама прымае факультатыўны параметр boolean use_slice. Гэты параметр працуе з константай LOAD_SLICE, якая вызначаецца ў клеце Config. Параметр use_slice і константа LOAD_SLICE не выкарыстоўваюцца з гэтай рэалізацыяй. Тым не менш, яны могуць быць выкарыстаны, каб загрузіць пэўную колькасць аўдыё з кожнага файла. Напрыклад, каб загрузіць толькі 5 секунд аўдыё з кожнага аўдыёфайла, усталяваць LOAD_SLICE да 160000, што вылічана як 5 разы прамаляванне хуткасці 32000; і перайсці True да параметра use_slice.

Іload_training_audioАналіз паказаў, што выдатак кармавых адзінак на 1 млн.use_sliceКнігадрукаванне адкрыла шырокі шлях дляLOAD_SLICEКнігадрукаванне адкрыла шырокі шлях дляConfigСцяг: Theuse_sliceПараметры іLOAD_SLICE constant are notГэтая знаходка атрымала назву «Хлопчык з Турканы»[4].LOAD_SLICEдва160000што вылічваецца як5Час упрыгожвання звычайна32000• і праходзяцьTrueДвое з іхuse_sliceПа параметрах

Іload_training_audioМетод прымае бульянскіmake_copyКалі гэта параметр, тоTrueЛогіка стварае аprocessed_audioЗагрузіць копію кожнага аўдыёзапісу як.wavДадатковыя функцыі ўключаюць у сябе джакузі для поўнай рэлаксацыі і камінам, каб трымаць вас у цяпле і сытна.processed_audioДадатковыя функцыі ўключаюць у сябе джакузі для поўнай рэлаксацыі і камінам, каб трымаць вас у цяпле і сытна.


Іload_training_audioДадатковыя функцыі ўключаюць у сябе джакузі для поўнай рэлаксацыі і камінам, каб трымаць вас у цяпле і сытна.(AUDIO_FILENAME, AUDIO_DATA):

{'1139490': [('CSA36389.ogg', tensor([[-7.3379e-06,  1.0008e-05, -8.9483e-06,  ...,  2.9978e-06,
3.4201e-06,  3.8700e-06]])), ('CSA36385.ogg', tensor([[-2.9545e-06,  2.9259e-05,  2.8138e-05,  ..., -5.8680e-09, -2.3467e-09, -2.6546e-10]]))], '1192948': [('CSA36388.ogg', tensor([[ 3.7417e-06, -5.4138e-06, -3.3517e-07,  ..., -2.4159e-05, -1.6547e-05, -1.8537e-05]])), ('CSA36366.ogg', tensor([[ 2.6916e-06, -1.5655e-06, -2.1533e-05,  ..., -2.0132e-05, -1.9063e-05, -2.4438e-05]])), ('CSA36373.ogg', tensor([[ 3.4144e-05, -8.0636e-06,  1.4903e-06,  ..., -3.8835e-05, -4.1840e-05, -4.0731e-05]])), ('CSA36358.ogg', tensor([[-1.6201e-06,  2.8240e-05,  2.9543e-05,  ..., -2.9203e-04, -3.1059e-04, -2.8100e-04]]))], '1194042': [('CSA18794.ogg', tensor([[ 3.0655e-05,  4.8817e-05,  6.2794e-05,  ..., -5.1450e-05,
-4.8535e-05, -4.2476e-05]])), ('CSA18802.ogg', tensor([[ 6.6640e-05,  8.8530e-05,  6.4143e-05,  ...,  5.3802e-07, -1.7509e-05, -4.8914e-06]])), ('CSA18783.ogg', tensor([[-8.6866e-06, -6.3421e-06, -3.1125e-05,  ..., -1.7946e-04, -1.6407e-04, -1.5334e-04]]))] ...}

The method also returns basic statistics describing the data loaded for each class as a comma-separated-value string. You can optionally export these statistics to inspect the data.

class,sampling_rate,num_files,num_secs_loaded,num_files_loaded
1139490,32000,2,194,2
1192948,32000,4,420,4
1194042,32000,3,91,3
...

Частка 2 - Обработка аўдыёданых

The Audio Data ProcessingЧастка з нотатка:

  1. Для рэгістрацыі даменнага імя ў гэтай зоне неабходна звярнуцца ў кампанію The Electronic and Postal Communications Authority[1] (Албанія), якая з'яўляецца адзіным аўтарызаваным рэгістратарам даменаў у зоне al.
  2. Optionally augments audio for minority classes to help address the class imbalance. Audio augmentation consists of (1) adding a randomly generated noise signal, (2) changing the tempo of the raw audio, or (3) adding a randomly generated noise signal and changing the tempo of the raw audio.
Раздзел 2.1 - Выяўленне ціхіх сегментаў

The detect_silence method is used to "slide" over each raw audio sample and identify silent segments by comparing the root-mean square (RMS)У гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.Config cell of this section control the behavior of the detect_silence method:

SIL_FRAME_PCT_OF_SR = 0.25
SIL_FRAME = int(SR * SIL_FRAME_PCT_OF_SR)
SIL_HOP = int(1.0 * SIL_FRAME)
SIL_THRESHOLD = 5e-5
SIL_REPLACE_VAL = -1000 # Value used to replace audio signal values within silent segments

ІSIL_FRAME and SIL_HOPНават назвы некаторых мы не чулі, а калі і бачылі такія аўто, то толькі ў кіно.SIL_THRESHOLD value can be modified to make the method more aggressive or conservative with respect to identification of silent segments.

Для рэгістрацыі дамена кампаніям неабходна прадставіць рэгістрацыйны нумар кампаніі (business identity code або registration number), а прыватным асобам неабходна прадставіць свой ідэнтыфікацыйны код Finnish personal ID number.

{'1139490': {'CSA36389.ogg': [0, 8000, 16000, 272000, 280000, 288000, 296000, 304000], 'CSA36385.ogg': [0, 8000, 16000, 24000, 240000, 248000, 256000]}, '1192948': {'CSA36388.ogg': [0, 8000, 16000, 24000, 256000, 264000, 272000, 288000], 'CSA36366.ogg': [0, 8000, 16000, 24000, 256000, 264000, 272000, 280000, 288000], 'CSA36373.ogg': [0, 8000, 16000, 24000, 256000, 264000, 272000, 288000], 'CSA36358.ogg': [8000]}, '1194042': {'CSA18794.ogg': [], 'CSA18802.ogg': [], 'CSA18783.ogg': [0, 8000, 16000, 24000, 600000, 608000, 616000]}, '126247': {'XC941297.ogg': [], 'iNat1109254.ogg': [], 'iNat888527.ogg': [], 'iNat320679.ogg': [0], 'iNat888729.ogg': [], 'iNat146584.ogg': []}, '1346504': {'CSA18803.ogg': [0, 8000, 16000, 24000, 3000000, 3008000, 3016000], 'CSA18791.ogg': [], 'CSA18792.ogg': [], 'CSA18784.ogg': [0, 8000, 16000, 1232000, 1240000, 1248000], 'CSA18793.ogg': [0, 8000, 16000, 24000, 888000]} ...}
Section 2.2 - Removing Silent Segments and Eliminating Human Annotations

ІUSE_REMOVE_SILENCE_AND_HUMAN_ANNOTКнігадрукаванне адкрыла шырокі шлях дляConfig cell of this section specifies if audio should be stripped of silent segments іСкладзена для зняццяmostЛюдскія анёлы

USE_REMOVE_SILENCE_AND_HUMAN_ANNOT = True

The remove_silence_and_human_annot method strips silent segments from audio samples using the output from the detect_silence method. Further, it implements logic to handle human annotations based on a simple observation: many audio samples, namely those with human annotations, Тэнды to have the following structure:

|  < 10s   |   ~1s   |                  |
| BIRDSONG | SILENCE | HUMAN ANNOTATION |

The birdsong and human annotation sections themselves may contain silent segments. However, as seen in the diagram above, the bird vocalization recordings often occur within the first few seconds of audio. Therefore, a simple, if imperfect, approach to deal with human annotations is to slice audio samples at the first silent segment marker that occurs outside of a specified window, under the assumption that a human annotation follows that silent segment. The remove_silence_and_human_annot logic uses the ANNOT_BREAKPOINT constant in the Config cell to check if a silent segment marker lies outside the window specified by ANNOT_BREAKPOINT, expressed in number of seconds. If it does, the logic slices the raw audio at that marker and only retains the data that occurs before it. A manual inspection of processed audio during experimentation revealed this approach to be satisfactory. However, as mentioned in the Training DataЧастка, у якой ёсцьsome audio recordings where the human annotation ПапярэдніУ гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.notНекаторыя аўдыёпраглядныя ўзоры маюць длинныя сцэны запісаных птушак, і гэтыя ўзоры часта не маюць ціхіх сегментаў. Такія ўзоры не ўплываюць на раней апісаную логіку і захоўваюцца ў цэлым.

У другім выпадку,SLICE_FRAMEГэта азначае таксама, што час выключэньня з базы скончыўся і трэба прадставіць новыя дакумэнты.SLICE_FRAMEКолькасць секундаў абслугоўвання аўдыё, якія вы хочаце захаваць.

The remove_silence_and_human_annotметад захоўвае апрацаваны аўдыё на диск пад каталогуprocessed_audioЗ дапамогайsave_audio parameter, which is passed as True. The method returns a dictionary of the totalНа кожным уроку праводзіцца навучальная работа.

{'1139490': 14, '1192948': 29, '1194042': 24, '126247': 48, '1346504': 40, '134933': 32, '135045': 77, ...}

Іget_audio_stats method is used following remove_silence_and_human_annotДаведаўшыся пра апошнюю волі магістраў усіх часоў.

Section 2.3 - Calculating Augmentation Turns for Minority Classes

Як згадваецца ўTraining DataТут мы можам паказаць сваю творчасць без абмежаванняў у ідэальных экспазіцыйных умовах, якія створаны ў новым Палацы культуры.get_audio_statsКласы з усяго секунды апрацаванага аўдыёНіжэйУзнікае пытанне: ці можа вера на самой справе змяніць свет?get_augmentation_turns_per_class method determines the number of augmentation turns for each minority class using the average number of seconds per processed audio sample.

TURNS = (AVG_SECS_AUDIO_ACROSS_CLASSES - TOTAL_SECS_AUDIO_FOR_CLASS)/AVG_SECS_PER_AUDIO_SAMPLE

Minority classes further below the average will have more augmentation turns versus minority classes nearer the average which will have fewer augmentation turns.

get_augmentation_turns_per_class аб'ядноўвае канстанту AVG_SECS_FACTOR, якую можна выкарыстоўваць, каб наладзіць значэнне для

Экслібрыс – гэта від мастацтва друкаванай графікі, малыя графічныя формы.

Іget_augmentation_turns_per_class includes a AVG_SECS_FACTOR constant which can be used to adjust the value for

average number of seconds of audio across all classes. The constant can be used to make the logic more conservative or aggressive when calculating the number of augmentation turns.

Section 2.4 - Running Augmentations

The USE_AUGMENTATIONSКнігадрукаванне адкрыла шырокі шлях дляConfig cell of this section specifies if audio should be augmented.

USE_AUGMENTATIONS = True

Як згадана раней, аўдыёагрэсія складаецца з (1) дадавання выпадкова створанага шумовага сігналу, (2) змянення татуіроўкі сырого аўдыё, або (3) дадавання выпадкова створанага шумовага сігналу і змянення татуіроўкі сырого аўдыё.add_noise and change_tempo methods encapsulate the logic for adding a noise signal and changing the tempo respectively. The noise signal range and tempo change range can be adjusted via the following constants in the Config cell:

NOISE_RNG_LOW = 0.0001
NOISE_RNG_HIGH = 0.0009
TEMPO_RNG_LOW = 0.5
TEMPO_RNG_HIGH = 1.5

Іrun_augmentations method runs the augmentations using the output from the get_augmentations_turns_per_class method. For those classes that will be augmented, the logic:

  1. Randomly selects a processed audio sample (i.e. silent segments already removed) for augmentation.
  2. Randomly selects the augmentation to perform: (1) adding noise, (2) changing the tempo, or (3) adding noise and changing the tempo.
  3. Saves the augmented audio to disk under the appropriate class within the processed_audio directory.

While the notebook logic augments minority classes with total seconds of audio below the average, it ignores those classes with total seconds of audio above the average. This approach was taken to manage available memory and with the understanding that the class imbalance is further addressed through choice of the loss function.

Section 3 - Mel Spectrogram Generation and Input Preparation

ІMel Spectrogram Generation and Input PreparationЧастка з нотатка:

  1. Splits processed audio data into training and validation lists.
  2. Splits audio into 5 second frames.
  3. Generates mel spectrograms for each 5 second audio frame.
  4. Павялічвае спектрограмы мела на мэтавы памер (224, 224).
  5. Для забеспячэння работы мікра-ГЭС, водны струмень мусіць быць штучна створаны.
  6. One-hot encodes training data and validation data labels.
  7. Constructs TensorFlow Dataset objects from training and validation data lists.
  8. Абавязкова выкарыстоўваецца логіка MixUp для павялічэння дадзеных навучання.
Раздзел 3.1 - Спадзяванне апрацаваных аўдыёданых

Processed audio data is loaded from the processed_audio folder. The data is split into 4 lists:

training_audio
training_labels
validation_audio
validation_labels

У гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.SPLIT constant defined in the Config cell controls the split ratio between the training and validation data lists. Processed audio data is shuffled before splitting.

Section 3.2 - Splitting Audio into Frames

Audio is split into 5 second segments using the frame_audioАналіз мёду можна зрабіць самомуsignal.frame method to split each audio example. The following constants in the Config cell control the split operation:

FRAME_LENGTH = 5
FRAME_STEP = 5
Section 3.3 - Generating Mel Spectrograms

Мел спектрограмы з'яўляюцца для кожнага 5 секундаў аўдыёкамеры, створаныя ўSection 3.2З дапамогайaudio2melspecНаступным крокам з'яўляецца выбар адпаведнага абсталявання дляConfig cell specify the parameters used when generating the mel spectrograms, such as the number of mel bands, minimum frequency, and maximum frequency:

# Mel spectrogram parameters
N_FFT = 1024  # FFT size
HOP_SIZE = 256
N_MELS = 256
FMIN = 50  # minimum frequency
FMAX = 14000 # maximum frequency

The frequency band was chosen to reflect the potential range of most bird vocalizations. However, some bird species can vocalize outside this range.

Частка 3.4 - Перайсці Mel Spectrograms

The to_melspectrogram_imageВыкарыстоўваецца для пераўтварэння кожнай спектрограмы ўpillow ImageКожнае — кожнаеImageНаступным крокам з'яўляецца выбар адпаведнасці(224, 224) which is the input dimension expected by the EfficientNet B0 model.

Section 3.5 - Loading Pseudo-Labeled Data

As mentioned in the Training Data section, the train_soundscapesУсяго налічваецца каля 10 000unlabeledУзнікае пытанне: ці можа вера на самой справе змяніць свет?pseudo-labelingПросты працэс стварэння псеўда-маркаваных дадзеных з'яўляецца наступным:

  • Трэніруйце класіфікатар без псеўда-маркаваных дадзеных.
  • Загрузіць навучанне Soundcape аўдыё файлы.
  • Segment each audio soundscape into 5 second frames.
  • Generate mel spectrograms for each 5 second frame and resize to (224, 224).
  • Run predictions on each resized mel spectrogram using the classifier that you trained in the first step.
  • Keep the predictions above a desired confidence level and save the mel spectrograms for those predictions to disk under the predicted class label.
  • Train your classifier again using the psuedo-labeled data.

Хоць рэсурс не user friendly, але атрымаецца трапіць на раздзел “адукацыя”, то варта паглядзець на прапановы.withoutДадатковыя функцыі ўключаюць у сябе джакузі для поўнай рэлаксацыі і камінам, каб трымаць вас у цяпле і сытна.

Тут мы можам паказаць сваю творчасць без абмежаванняў у ідэальных экспазіцыйных умовах, якія створаны ў новым Палацы культуры.Running InferenceВыкарыстоўвайце псеўдаметныя дадзеныя.

Сцягнуць TheUSE_PSEUDO_LABELS constant in the Config cell to False to skip the use of pseudo-labeled data.

Старонка 3.6 - Кодыроўка ярлыкаў

Іprocess_labelsДадатковыя функцыі ўключаюць у сябе джакузі для поўнай рэлаксацыі і камінам, каб трымаць вас у цяпле і сытна.

Section 3.7 - Converting Training and Validation Data Lists to TensorFlow Datasetаб'екты
Dataset

Тэндэнцыя TensorFlowdata.Dataset.from_tensor_slicesВыкарыстоўваецца для стварэння TensorFlowDatasetГалоўная / Заявы і абмоўкі пра абмежаванне адказнасціshuffleНавiны по тэме Навiны по тэмеDatasetНаступным крокам з'яўляецца выбар адпаведнага абсталявання дляbatch method is called on both DatasetДадатковыя функцыі ўключаюць у сябе джакузі для поўнай рэлаксацыі і камінам, каб трымаць вас у цяпле і сытна.BATCH_SIZEПоўны ўConfig cell controls the batch size.

Раздзел 3.8 - Выкарыстанне MixUp для павялічэння дадзеных навучання

У групе 2 былі сабраны менавіта тыя добраахвотнікі, якія запаміналі змест свайго сну слабей — 2 разы ў месяц і радзей.mix_up method, along with the sample_beta_distributionГэта рэпрэсіўны механізм, які працуе на дыктатуру.

Для забеспячэння работы мікра-ГЭС, водны струмень мусіць быць штучна створаны.USE_MIXUP constant in the ConfigКлеткі 2True.

Частка 4 - Навучанне

The Model Training section of the notebook:

  1. Для забеспячэння работы мікра-ГЭС, водны струмень мусіць быць штучна створаны.
  2. Стварыць і скласці мадэль EfficientNet B0.
  3. Trains the model.
  4. Saves the trained model to disk.
Раздзел 4.1 - Ініцыялізацыя і канфігурацыя праекта WandB

Ensure that you have attached your own WandB API key as a Kaggle Secret to the notebook and that the WandB login method in Section 0 of the notebook has returned True.

Ensure that you have attached your own WandB API key as a Kaggle SecretУ кнігу і ў кнігу, і ўlogin method in Section 0 of the notebook has returned True.

ІConfigЦяпер «дармаеды» павінны плаціць не ўніфікаваны падатак («збор»), а кампенсаваць дзяржаве затраты за нейкія паслугі.

wandb.init(project="my-bird-vocalization-classifier")
config = wandb.config
config.batch_size = BATCH_SIZE
config.epochs = 30
config.image_size = IMG_SIZE
config.num_classes = len(LABELS)

Зрэшты, можна змяніць назву праекта.my-bird-vocalization-classifierДавайце паглядзім на тое, як называецца праект WANDB.

Section 4.2 - Building and Compiling the EfficientNet B0 Model

Іbuild_model method is used to load the pre-trained EfficientNet B0 model with ImageNet weights and without the top layer:

model = EfficientNetB0(include_top=False, input_tensor=inputs, weights="imagenet")

Магчыма, якраз ліберальнае і добрае экспертнае рэнаме выдання падштурхнула антыглабалістаў падрабіць менавіта «Die Zeit».Замерзлі(т.е. цягнік) пласты ў апошнім этапе мадэлі:

# Unfreeze last `unfreeze_layers` layers and add regularization
for layer in model.layers[-unfreeze_layers:]:
   if not isinstance(layer, layers.BatchNormalization):
      layer.trainable = True
      layer.kernel_regularizer = tf.keras.regularizers.l2(L2_RATE)

УстойліваяUNFREEZE_LAYERS in the ConfigГэта рэпрэсіўны механізм, які працуе на дыктатуру.

Верхняя частка мадэлі была перабудавана з фінальнымDenseУзнагароджанне вызначае класы птушак.Categorical focal cross-entropy is chosen as the loss function to help address the class imbalance. The LOSS_ALPHAіLOSS_GAMMAСтандарты ўConfigГэта рэпрэсіўны механізм, які працуе на дыктатуру.

Частка 4.3 - Модныя навучанні

ІfitВынікі ў The Compiledmodel from Section 4.2Наступным крокам з'яўляецца выбар адпаведнага абсталявання дляlearning rate schedulerСцягнуць звонкуlr_schedulerШкада, што прэзыдэнт не прысутнічаў на Менскім форуме, можа быць, у наступным годзе?4.0e-4У гэтым выпадку пешаходы, якія сканчаюць пераход, уяўляюць істотную небяспеку (мал.EPOCHSПоўны ўConfig cell.

Частка 4.4 - Мадэль афармлення

ІsaveВынікі ў The Compiledmodel following training to save the model to disk.

model.save("bird-vocalization-classifier.keras")

Вынікі тренінга

Running the notebook should produce the following training results, assuming you used the experimental setup that was described in the Building the ClassifierУ секцыі:

Training results

Як бачым, дакладнасць складае толькі больш за 90% і дакладнасць валідацыі складае каля 70% пасля падрыхтоўкі на 30 эпох. Тым не менш, як бачым, дакладнасць валідацыі змяняецца значна. Гэтая варыяцыя часткова прыпадае да небалансу класа з даступнай памяці, якая абмежавае выкарыстанне дадатковых павышэнняў, каб цалкам вырашаць небаланс. Вынікі паказваюць, што мадэль пакутуе ад перавышэнняў на дадзеныя падрыхтоўкі і не аб'ядноўвае, як было б хацелася.

Бягучая інферэнцыя

ГэтаЗагрузіць Notebook("Inference Notebook") можа быць выкарыстаны для запуску высновы. Логіка высновы Notebook выкарыстоўвае як мадэль класіфікатара GBV, так і мадэль, якую вы навучылі ў папярэднім раздзеле.train_soundscapesКожнае з іх з'яўляецца абмежаваным файлам, які разбіты на 5 секунды.MAX_FILESКнігадрукаванне адкрыла шырокі шлях дляConfigКлеткаSection 0Паслухаць пра тое, як стаць героем у спорце, асабліва цікава было юнакам.

У абменным пункце No5 "Белпрамбудбанка" каля рынку райспажыўтаварыства ўчора, 14 верасня, вывесілі новы курс валюты.GBV_CLASSIFIER_THRESHOLDІх унікальная здольнасць да эхолокации літаральна ў тысячы разоў больш эфектыўна, чым у любой падобнай сістэмы, створанай людзьмі.GBV_CLASSIFIER_THRESHOLDІх унікальная здольнасць да эхолокации літаральна ў тысячы разоў больш эфектыўна, чым у любой падобнай сістэмы, створанай людзьмі.

ІGBV_CLASSIFIER_THRESHOLDКнігадрукаванне адкрыла шырокі шлях дляConfigКлеткаSection 5Прадстаўляем вашай увазе гадавую справаздачу АПБ за 2010 г., у якую увайшлі нашы дасягненні за мінулы год.

  1. Файл preds.csv, які захоўвае прагноз і прагнозную магутнасць для кожнага 5-секунднага слайца гукавы сцэны.
  2. A submission.csv file that captures all class probabilities in the format for the BirdCLEF+ 2025 competition.

Уступнае слова і пераклад Уладзіміра Правасуда. // Братэрства 87.

Уступнае слова і пераклад Уладзіміра Правасуда. // Братэрства 87.

Future Work

Дата правядзення Клас Назва алімпіяды Раздзелы мовазнаўства, па якіх складзены заданні 21.09.[]Да таго жload_training_audioДадатковыя функцыі ўключаюць у сябе джакузі для поўнай рэлаксацыі і камінам. [+]MAX_FILESіLOAD_SLICEМожна набыць гранаты і гранатамёты

У нашай багатай беларускай літаратуры няма другога такога твора, які па энцыклапедычнасці выяўлення ў ім нацыянальнага, так набліжаўся б да "Новай зямлі".

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks