logo

торцх.нн у ПиТорцх-у

ПиТорцх обезбеђује модул торцх.нн који нам помаже у креирању и обуци неуронске мреже. Прво ћемо обучити основну неуронску мрежу на МНИСТ скупу података без употребе било каквих карактеристика из ових модела. Користићемо само основну функционалност ПиТорцх тензора, а затим ћемо постепено додавати једну по једну функцију из торцх.нн.

торцх.нн нам пружа много више класа и модула за имплементацију и обуку неуронске мреже.

нн пакет садржи следеће модуле и класе:

Да не Класа и модул Опис
1. торцх.нн.Параметер То је тип тензора који се сматра параметром модула.
2. Контејнери
1) бакља.нн.Модул То је основна класа за све модуле неуронске мреже.
2) бакља.нн.Секвенцијална То је секвенцијални контејнер у који ће се модули додати истим редоследом којим се прослеђују у конструктору.
3) торцх.нн.МодулеЛист Ово ће задржати подмодуле на листи.
4) торцх.нн.МодулеДицт Ово ће задржати подмодуле у директоријуму.
5) торцх.нн.ПараметерЛист Ово ће задржати параметре на листи.
6) торцх.нн.параметерДицт Ово ће задржати параметре у директоријуму.
3. Конволуцијски слојеви
1) торцх.нн.Цонв1д Овај пакет ће се користити за примену 1Д конволуције преко улазног сигнала састављеног од неколико улазних равни.
2) торцх.нн.Цонв2д Овај пакет ће се користити за примену 2Д конволуције преко улазног сигнала састављеног од неколико улазних равни.
3) торцх.нн.Цонв3д Овај пакет ће се користити за примену 3Д конволуције преко улазног сигнала састављеног од неколико улазних равни.
4) торцх.нн.ЦонвТранспосе1д Овај пакет ће се користити за примену 1Д транспонованог конволуционог оператора на улазну слику састављену од неколико улазних равни.
5) торцх.нн.ЦонвТранспосе2д Овај пакет ће се користити за примену 2Д транспонованог оператора конволуције на улазну слику састављену од неколико улазних равни.
6) торцх.нн.ЦонвТранспосе3д Овај пакет ће се користити за примену 3Д транспонованог оператора конволуције на улазну слику састављену од неколико улазних равни.
7) бакља.нн.Разклопити Користи се за издвајање клизних локалних блокова из скупног улазног тензора.
8) торцх.нн.Фолд Користи се за комбиновање низа клизних локалних блокова у велики тензор који садржи.
4. Обједињавање слојева
1) торцх.нн.МакПоол1д Користи се за примену 1Д мак удруживања преко улазног сигнала састављеног од неколико улазних равни.
2) торцх.нн.МакПоол2д Користи се за примену 2Д мак удруживања преко улазног сигнала састављеног од неколико улазних равни.
3) торцх.нн.МакПоол3д Користи се за примену 3Д мак удруживања преко улазног сигнала састављеног од неколико улазних равни.
4) торцх.нн.МакУнпоол1д Користи се за израчунавање делимичног инверзног од МакПоол1д.
5) торцх.нн.МакУнпоол2д Користи се за израчунавање делимичног инверзног од МакПоол2д.
6) торцх.нн.МакУнпоол3д Користи се за израчунавање делимичног инверзног од МакПоол3д.
7) торцх.нн.АвгПоол1д Користи се за примену 1Д просечног удруживања преко улазног сигнала састављеног од неколико улазних равни.
8) торцх.нн.АвгПоол2д Користи се за примену 2Д просечног удруживања преко улазног сигнала састављеног од неколико улазних равни.
9) торцх.нн.АвгПоол3д Користи се за примену 3Д просечног удруживања преко улазног сигнала састављеног од неколико улазних равни.
10) торцх.нн.ФрацтионалМакПоол2д Користи се за примену 2Д фракционог максималног удруживања преко улазног сигнала састављеног од неколико улазних равни.
11) торцх.нн.ЛППоол1д Користи се за примену 1Д удруживања просечне снаге преко улазног сигнала састављеног од неколико улазних равни.
12) торцх.нн.ЛППоол2д Користи се за примену 2Д удруживања просечне снаге преко улазног сигнала састављеног од неколико улазних равни.
13) торцх.нн.АдавтивеМакПоол1д Користи се за примену 1Д адаптивног максималног удруживања преко улазног сигнала састављеног од неколико улазних равни.
14) торцх.нн.АдавтивеМакПоол2д Користи се за примену 2Д адаптивног максималног удруживања преко улазног сигнала састављеног од неколико улазних равни.
15) торцх.нн.АдавтивеМакПоол3д Користи се за примену 3Д адаптивног максималног удруживања преко улазног сигнала састављеног од неколико улазних равни.
16) торцх.нн.АдавтивеАвгПоол1д Користи се за примену 1Д адаптивног просечног удруживања преко улазног сигнала састављеног од неколико улазних равни.
17) торцх.нн.АдавтивеАвгПоол2д Користи се за примену 2Д адаптивног просечног удруживања преко улазног сигнала састављеног од неколико улазних равни.
18) торцх.нн.АдавтивеАвгПоол3д Користи се за примену 3Д адаптивног просечног удруживања преко улазног сигнала састављеног од неколико улазних равни.
5. Паддинг лаиерс
1) торцх.нн.РефлецтионПад1д Запуниће улазни тензор користећи рефлексију границе улаза.
2) торцх.нн.РефлацтионПад2д Запуниће улазни тензор користећи рефлексију границе улаза.
3) торцх.нн.РеплицатионПад1 Запуниће улазни тензор користећи репликацију границе улаза.
4) торцх.нн.РеплицатионПад2д Запуниће улазни тензор користећи репликацију границе улаза.
5) торцх.нн.РеплицатионПад3д Запуниће улазни тензор користећи репликацију границе улаза.
6) торцх.нн.ЗероПад2д Попуниће границе улазног тензора нулом.
7) торцх.нн.ЦонстантПад1д Попуниће границе улазног тензора константном вредношћу.
8) торцх.нн.ЦонстантПад2д Попуниће границе улазног тензора константном вредношћу.
9) торцх.нн.ЦонстантПад3д Попуниће границе улазног тензора константном вредношћу.
6. Нелинеарне активације (пондерисана сума, нелинеарност)
1) торцх.нн.ЕЛУ Користиће се за примену функције по елементима:
ЕЛУ(к)=мак(0,к)+мин(0,α*(екп(к)-1))
2) торцх.нн.Хардсхринк Користиће се за примену функције чврстог скупљања по елементима:
торцх.нн у ПиТорцх-у
3) торцх.нн.ЛеакиРеЛУ Користиће се за примену функције по елементима:
ЛеакиРеЛу(к)=мак(0,к) +негативан_нагиб*мин(0,к)
4) торцх.нн.ЛогСигмоид Користиће се за примену функције по елементима:
торцх.нн у ПиТорцх-у
5) торцх.нн.МултихеадАттентион Користи се да омогући моделу да прати информације из различитих подпростора репрезентације
6) бакља.нн.ПРеЛУ Користиће се за примену функције по елементима:
ПРЕЛУ(к)=мак(0,к)+а*мин(0,к)
7) торцх.нн.РеЛУ Користиће се за примену функције исправљене линеарне јединице по елементима:
РеЛУ(к)=мак(0,к)
8) торцх.нн.РеЛУ6 Користиће се за примену функције по елементима:
РеЛУ6(к)=мин(мак(0,к),6)
9) бакља.нн.РРеЛУ Користиће се за примену насумичне функције исправљене линеарне јединице која цури, по елементима, као што је описано у раду:
торцх.нн у ПиТорцх-у
10) бакља.нн.СЕЛУ Користиће се за примену функције по елементима као:
СЕЛУ(к)=размера*(макс(0,к)+ мин(0,а*(екп(к)-1)))

Овде је α= 1,6732632423543772848170429916717 и размера = 1,0507009873554804934193349852946.
11) бакља.нн.МЕТА Користиће се за примену функције по елементима као:
торцх.нн у ПиТорцх-у
12) бакља.нн.Сигмоид Користиће се за примену функције по елементима као:
торцх.нн у ПиТорцх-у
13) торцх.нн.Софтплус Користиће се за примену функције по елементима као:
торцх.нн у ПиТорцх-у
14) торцх.нн.Софтсхринк Користиће се за примену функције меког скупљања елементарно као:
торцх.нн у ПиТорцх-у
15) торцх.нн.Софтсигн Користиће се за примену функције по елементима као:
торцх.нн у ПиТорцх-у
16) бакља.нн.Танх Користиће се за примену функције по елементима као:
торцх.нн у ПиТорцх-у
17) торцх.нн.Танхсхринк Користиће се за примену функције по елементима као:
Танхсхринк(к)=к-Танх(к)
18) бакља.нн.Праг Користиће се за прагове сваког елемента улазног тензора. Праг је дефинисан као:
торцх.нн у ПиТорцх-у
7. Нелинеарне активације (остало)
1) торцх.нн.Софтмин Користи се за примену функције софтмин на н-димензионални улазни тензор за њихово поновно скалирање. Након тога, елементи н-димензионалног тензора излаза се налазе у опсегу 0, 1 и збир до 1. Софтмин је дефинисан као:
торцх.нн у ПиТорцх-у
2) торцх.нн.Софтмак Користи се за примену софтмак функције на н-димензионални улазни тензор за њихово поновно скалирање. Након тога, елементи н-димензионалног тензора излаза налазе се у опсегу 0, 1 и збир до 1. Софтмак је дефинисан као:
торцх.нн у ПиТорцх-у
3) торцх.нн.Софтмак2д Користи се за примену СофтМак-а преко карактеристика на сваку просторну локацију.
4) торцх.нн.ЛогСофтмак Користи се за примену ЛогСофтмак функције на н-димензионални улазни тензор. ЛофСофтмак функција се може дефинисати као:
торцх.нн у ПиТорцх-у
5) торцх.нн.АдаптивеЛогСофтмакВитхЛосс То је стратегија за обуку модела са великим излазним простором. Веома је ефикасан када је дистрибуција етикета веома неуравнотежена
8. Нормализациони слојеви
1) торцх.нн.БатцхНорм1д Користи се за примену групне нормализације преко 2Д или 3Д улаза.
торцх.нн у ПиТорцх-у
2) торцх.нн.БатцхНорм2д Користи се за примену групне нормализације преко 4Д.
торцх.нн у ПиТорцх-у
3) торцх.нн.БатцхНорм3д Користи се за примену групне нормализације преко 5Д улаза.
торцх.нн у ПиТорцх-у
4) торцх.нн.ГроупНорм Користи се за примену групне нормализације преко мини групе улаза.
торцх.нн у ПиТорцх-у
5) торцх.нн.СинцБатцхНорм Користи се за примену групне нормализације преко н-димензионалних улаза.
торцх.нн у ПиТорцх-у
6) торцх.нн.ИнстанцеНорм1д Користи се за примену нормализације инстанце на 3Д улаз.
торцх.нн у ПиТорцх-у
7) торцх.нн.ИнстанцеНорм2д Користи се за примену нормализације инстанце преко 4Д улаза.
торцх.нн у ПиТорцх-у
8) торцх.нн.ИнстанцеНорм3д Користи се за примену нормализације инстанце преко 5Д улаза.
торцх.нн у ПиТорцх-у
9) торцх.нн.ЛаиерНорм Користи се за примену нормализације слоја преко мини-серије улаза.
торцх.нн у ПиТорцх-у
10) торцх.нн.ЛоцалРеспонсеНорм Користи се за примену локалне нормализације одзива на улазни сигнал који се састоји од неколико улазних равни, где канал заузима другу димензију.
9. Понављајући слојеви
1) бакља.нн.РНН Користи се за примену вишеслојног Елман РНН-а са танх или РеЛУ нелинеарношћу на улазну секвенцу. Сваки слој израчунава следећу функцију за сваки елемент у улазној секвенци:
хт=танх(ВњихИкстњихХХтт-1ХХ)
2) бакља.нн.ЛСТМ Користи се за примену вишеслојне дуготрајне краткорочне меморије (ЛСТМ) РНН на улазну секвенцу. Сваки слој израчунава следећу функцију за сваки елемент у улазној секвенци:
торцх.нн у ПиТорцх-у
3) бакља.нн.ГРУ Користи се за примену РНН вишеслојне рекурентне јединице (ГРУ) на улазну секвенцу. Сваки слој израчунава следећу функцију за сваки елемент у улазној секвенци:
торцх.нн у ПиТорцх-у
4) бакља.нн.РННЦелл Користи се за примену Елман РНН ћелије са танх или РеЛУ нелинеарношћу на улазну секвенцу. Сваки слој израчунава следећу функцију за сваки елемент у улазној секвенци:
х'=танх(Вњихк+бњихХХх+бХХ)
РеЛУ се користи уместо танх
5) торцх.нн.ЛСТМЦелл Користи се за примену ћелије дуготрајне краткорочне меморије (ЛСТМ) на улазну секвенцу. Сваки слој израчунава следећу функцију за сваки елемент у улазној секвенци:
торцх.нн у ПиТорцх-у
Где је σ сигмоидна функција, а * Адамаров производ.
6) бакља.нн.ГРУЦелл Користи се за примену ћелије рекурентне јединице (ГРУ) на улазну секвенцу. Сваки слој израчунава следећу функцију за сваки елемент у улазној секвенци:
торцх.нн у ПиТорцх-у
10. Линеарни слојеви
1) бакља.нн.Идентитет То је оператор идентитета чувара места који је неосетљив на аргументе.
2) бакља.нн.Линеарна Користи се за примену линеарне трансформације на долазне податке:
и=кАТ
3) бакља.нн.Билинеарна Користи се за примену билинеарне трансформације на долазне податке:
и=к1Ак2
Једанаест. Отпадни слојеви
1) бакља.нн.Отпадање Користи се за регуларизацију и превенцију ко-адаптације неурона. Фактор од торцх.нн у ПиТорцх-утоком тренинга скалира излаз. То значи да модул израчунава функцију идентитета током евалуације.
2) торцх.нн.Дропоут2д Ако су суседни пиксели унутар мапа обележја у корелацији, онда торцх.нн.Дропоут неће регулисати активације и смањиће ефективну стопу учења. У овом случају, торцх.нн.Дропоут2д() се користи за промовисање независности између мапа обележја.
3) торцх.нн.Дропоут3д Ако су суседни пиксели унутар мапа обележја у корелацији, онда торцх.нн.Дропоут неће регулисати активације и смањиће ефективну стопу учења. У овом случају, торцх.нн.Дропоут2д () се користи за промовисање независности између мапа обележја.
4) торцх.нн.АлпхаДропоут Користи се за примену Алпха Дропоут-а преко улаза. Алпха Дропоут је врста напуштања која одржава својство самонормализације.
12. Ретки слојеви
1) бакља.нн.Уградња Користи се за чување уграђивања речи и њихово преузимање помоћу индекса. Улаз за модул је листа индекса, а излаз је одговарајуће уграђивање речи.
2) торцх.нн.ЕмбеддингБаг Користи се за израчунавање збира или средње вредности 'врећица' уграђивања без инстанцирања средњег уграђивања.
13. Функција удаљености
1) торцх.нн.ЦосинеСимиларити Вратиће косинусну сличност између к1 и к2, израчунату дуж дим.
торцх.нн у ПиТорцх-у
2) торцх.нн.ПаирвисеДистанце Он израчунава групно растојање у пару између вектора в1, в2 користећи п-норму:
торцх.нн у ПиТорцх-у
14. Функција губитка
1) бакља.нн.Л1Губитак Користи се за критеријум који мери средњу апсолутну грешку између сваког елемента у улазу к и циљног и. Несмањени губитак се може описати као:
л(к,и)=Л={л1,...,лн},лн=|кнн|,
Где је Н величина серије.
2) торцх.нн.МСЕЛосс Користи се за критеријум који мери средњу квадратну грешку између сваког елемента у улазу к и циља и. Несмањени губитак се може описати као:
л(к,и)=Л={л1,...,лн},лн=(кнн)2,
Где је Н величина серије.
3) торцх.нн.ЦроссЕнтропиЛосс Овај критеријум комбинује нн.ЛогСофтмак() и нн.НЛЛЛосс() у једној класи. Корисно је када обучавамо класификациони проблем са Ц класама.
4) торцх.нн.ЦТЦЛосс Губитак временске класификације конекциониста израчунава губитак између непрекидне временске серије и циљне секвенце.
5) торцх.нн.НЛЛЛосс Губитак негативне лог-вероватности се користи за обуку класификационог проблема са Ц класама.
6) торцх.нн.ПоиссонНЛЛЛосс Негативни губитак лог-вероватноће са Поиссоновом дистрибуцијом т
таргет~Поиссон(инпут)губитак(инпут,таргет)=инпут-таргет*лог(таргет!)он циљ.
7) торцх.нн.КЛДивЛосс То је корисна мера удаљености за континуирану дистрибуцију, а такође је корисна када вршимо директну регресију преко простора континуиране дистрибуције излаза.
8) бакља.нн.БЦЕЛос Користи се за креирање критеријума који мери бинарну унакрсну ентропију између циља и излаза. Несмањени губитак се може описати као:
л(к,и)=Л={л1,...,лн},лн=-внн*логкн+ (1-гн)*лог(1-кн)],
Где је Н величина серије.
9) торцх.нн.БЦЕВитхЛогитсЛосс Комбинује сигмоидни слој и БЦЕЛосс у једној класи. Можемо искористити трик лог-сума-екп за нумеричку стабилност комбиновањем операције у један слој.
10) торцх.нн.МаргинРанкингЛосс Он ствара критеријум који мери губитак датих улаза к1, к2, два 1Д мини-серијске тензора и ознаку 1Д мини-серијске тензор и који садрже 1 или -1. Функција губитка за сваки узорак у мини-серији је следећа:
губитак(к,и)=мак(0,-и*(к1-Икс2)+маргина
11) торцх.нн.ХингеЕмбеддингЛосс ХингеЕмбеддингЛосс мери губитак датог улазног тензора к и тензора ознака и који садрже 1 или -1. Користи се за мерење да ли су два улаза слична или различита. Функција губитка је дефинисана као:
торцх.нн у ПиТорцх-у
12) торцх.нн.МултиЛабелМаргинЛосс Користи се за креирање критеријума који оптимизује губитак шарке за више класа за више класа између улаза к и излаза и.
торцх.нн у ПиТорцх-у
13) торцх.нн.СмоотхЛ1Лосс Користи се за креирање критеријума који користи термин на квадрат ако апсолутна грешка у погледу елемената падне испод 1 и Л1 термин у супротном. Такође је познат као Хуберов губитак:
торцх.нн у ПиТорцх-у
14) торцх.нн.СофтМаргинЛосс Користи се за креирање критеријума који оптимизује логистички губитак двокласне класификације између улазног тензора к и циљног тензора и који садрже 1 или -1.
торцх.нн у ПиТорцх-у
15) торцх.нн.МултиЛабелСофтМаргинЛосс Користи се за креирање критеријума који оптимизује губитак са више ознака један наспрам свих на основу максималне ентропије између улаза к и циља и величине (Н, Ц).
торцх.нн у ПиТорцх-у
16) торцх.нн.ЦосинеЕмбеддингЛосс Користи се за креирање критеријума који мери губитак датих улазних тензора к1, к2 и тензорске ознаке и са вредностима 1 или -1. Користи се за мерење да ли су два улаза слична или различита, користећи косинусну удаљеност.
торцх.нн у ПиТорцх-у
17) торцх.нн.МултиМаргинЛосс Користи се за креирање критеријума који оптимизује губитак шарке у више класа класификације између улаза к и излаза и.
торцх.нн у ПиТорцх-у
18) торцх.нн.ТриплетМаргинЛосс Користи се за креирање критеријума који мери троструки губитак датих улазних тензора к1, к2, к3 и маргине са вредношћу већом од 0. Користи се за мерење релативне сличности између узорака. Тројка се састоји од сидра, позитивног примера и негативног примера.
Л(а,п,н)=мак{д(аи,пи)-д(аии)+маргина,0}
петнаест. Слојеви вида
1) торцх.нн.ПикелСхуффле Користи се за преуређивање елемената у тензор облика (*,Ц×р2,Х,В) на тензор облика (*,Ц,Х×р,В,р)
2) торцх.нн.Упсампле Користи се за повећање узорковања датих вишеканалних 1Д, 2Д или 3Д података.
3) торцх.нн.упсамплингНеарест2д Користи се за примену 2Д повећања узорковања најближег суседа на улазни сигнал који се састоји од вишеструких улазних канала.
4) торцх.нн.УпсамплингБилинеар2д Користи се за примену 2Д билинеарног повећања узорковања на улазни сигнал који је састављен са вишеструким улазним каналом.
16. Паралелни слојеви података (мулти-ГПУ, дистрибуирани)
1) торцх.нн.ДатаПараллел Користи се за имплементацију паралелизма података на нивоу модула.
2) торцх.нн.ДистрибутедДатаПараллел Користи се за имплементацију паралелизма дистрибуираних података, који се заснива на пакету торцх.дистрибутед на нивоу модула.
3) торцх.нн.ДистрибутедДатаПараллелЦПУ Користи се за имплементацију паралелизма дистрибуираних података за ЦПУ на нивоу модула.
17. Комуналне услуге
1) торцх.нн.цлип_град_норм_ Користи се за исецање норме градијента итеративног броја параметара.
2) торцх.нн.цлип_град_валуе_ Користи се за исецање норме градијента итеративног броја параметара на специфицираној вредности.
3) торцх.нн.параметерс_то_вецтор Користи се за претварање параметара у један вектор.
4) торцх.нн.вецтор_то_параметерс Користи се за претварање једног вектора у параметре.
5) торцх.нн.веигхт_норм Користи се за примену нормализације тежине на параметар у датом модулу.
6) торцх.нн.ремове_веигхт_норм Користи се за уклањање нормализације тежине и поновне параметризације из модула.
7) торцх.нн.спецтрал_норм Користи се за примену спектралне нормализације на параметар у датом модулу.
8) торцх.нн.ПацкедСекуенце Користиће се за чување података и листе батцх_сизе упакованог низа.
9) торцх.нн.пацк_паддед_секуенце Користи се за паковање Тензора који садржи подстављене секвенце променљиве дужине.
10) торцх.нн.пад_пацкед_секуенце Користи се за попуњавање упаковане серије секвенци променљиве дужине.
11) торцх.нн.пад_секуенце Користи се за попуњавање листе тензора променљиве дужине са вредношћу допуне.
12) торцх.нн.пацк_секуенце Користи се за паковање листе тензора променљиве дужине
13) торцх.нн.ремове_спецтрал_норм Користи се за уклањање спектралне нормализације и поновне параметризације из модула.

Референца:

хттпс://питорцх.орг/доцс/стабле/нн.хтмл