Буцах тархалттай сүлжээний жишээ. Буцах тархалтын алгоритм

Буцааж тархах арга

Арга буцаан тархалталдаа - олон давхаргат перцептроныг сургах арга, хяналттай суралцах сонголтуудын нэг юм. Энэ аргыг анх Пол Ж.Вербос тайлбарласан. Цаашид 1986 онд Дэвид I. Rumelhart, J. E. Hinton, Ronald J. Williams нар ихээхэн хөгжүүлсэн. Энэ нь олон давхаргат перцептроны үйлдлийн алдааг багасгаж, хүссэн үр дүнг гаргахад ашигладаг давтагдах градиент алгоритм юм.

Энэ аргын гол санаа нь сүлжээний гаралтаас гарсан алдааны дохиог түүний оролт руу, хэвийн ажиллагааны үед дохионы шууд тархалтын эсрэг чиглэлд түгээх явдал юм. Барцев, Охонин нар тэр даруй санал болгов ерөнхий арга("хоёрдлын зарчим"), хожимдсон систем, тархсан систем гэх мэт илүү өргөн хүрээний системд хамаарна.

Энэ арга нь өөрчлөлт юм сонгодог аргаградиент уналт.

Буцах тархалтын алгоритм

Санамсаргүй жингийн коэффициент бүхий олон давхаргат дамжуулах сүлжээтэй болцгооё. Сүлжээний оролт - хүссэн гаралтын хосоос бүрдсэн сургалтын багц байдаг. Жинлэх коэффициентүүдийн санамсаргүй байдлаас шалтгаалан эхэндээ бараг санамсаргүй байдаг манай сүлжээний бодит гаралтын утгыг Y гэж үзье.

Сургалт нь зарим зорилгын функцийг багасгахын тулд жингийн коэффициентийг сонгохоос бүрдэнэ. гэх мэт зорилгын функцСургалтын багцын жишээнүүдийг ашиглан сүлжээний алдааны квадратын нийлбэрийг авч үзье.

j-р сургалтын жишээн дээрх p-р нейроны сүлжээний N-р гаралтын давхаргын бодит гаралт хаана байна, хүссэн гаралт. Өөрөөр хэлбэл, энэ функцийг багасгах замаар бид аргыг ашиглан шийдлийг олж авдаг хамгийн бага квадратууд.

Жинлэх коэффициентууд нь шугаман бус хамааралд ордог тул бид хамгийн бага утгыг олох аргыг ашиглана хамгийн огцом уналт. Өөрөөр хэлбэл, сургалтын алхам бүрт бид жингийн коэффициентийг томъёоны дагуу өөрчлөх болно

-тэй харилцах n-р давхаргын j-р нейроны жингийн коэффициент хаана байна I-р нейрон(n-1)-р давхарга.

Уг параметрийг сургалтын хурдны параметр гэж нэрлэдэг.

Тиймээс сүлжээний бүх жингийн коэффициентүүд дээр E зорилтын функцийн хэсэгчилсэн деривативуудыг тодорхойлох шаардлагатай. Нарийн төвөгтэй функцийг ялгах дүрмийн дагуу

гаралт хаана байна, n-р давхаргын j-р нейроны оролтын жигнэсэн нийлбэр. Идэвхжүүлэх функцийг мэдсэнээр бид тооцоолж болно гэдгийг анхаарна уу. Жишээлбэл, сигмоидын хувьд энэ утга нь тэнцүү байх болно

Гурав дахь хүчин зүйл нь (n-1)-р давхаргын i-р мэдрэлийн эсийн гаралтаас өөр зүйл биш юм.

Гаралтын давхаргын нейронуудын жинтэй холбоотой зорилгын функцийн хэсэгчилсэн деривативуудыг одоо хялбархан тооцоолох боломжтой. (1)-ийг ялгаж, (3) ба (5)-ыг харгалзан үзэх болно

Тэмдэглэгээг танилцуулъя

Дараа нь гаралтын давхаргын нейронуудын хувьд

Нейроны жингийн хувьд дотоод давхаргууд(4)-ийн эхний хүчин зүйл нь юутай тэнцүү болохыг бид шууд бичиж чадахгүй, гэхдээ үүнийг дараах байдлаар илэрхийлж болно.

Энэ томъёонд эхний хоёр хүчин зүйл нь юу ч биш гэдгийг анхаарна уу. Тиймээс (9)-ийг ашиглан n-р давхаргын мэдрэлийн эсийн утгыг (n+1)-р давхаргын нейроноор илэрхийлэх боломжтой. Сүүлийн давхаргын хувьд (8)-аар тооцоолоход хялбар тул рекурсив томъёог ашиглах боломжтой

бүх давхаргын бүх нейронуудын утгыг авах.

Эцэст нь жингийн коэффициентийг өөрчлөх томъёог (2) хэлбэрээр бичиж болно

Тиймээс бүрэн сургалтын алгоритм мэдрэлийн сүлжээБуцах тархалтын алгоритмыг ашиглан дараах байдлаар бүтээгдсэн.

Бид бүх сүлжээний жинд санамсаргүй жингийн коэффициентийг оноодог анхны утгууд. Энэ тохиолдолд сүлжээ нь зарим ажлыг гүйцэтгэх болно санамсаргүй хувиргалтОролтын дохио ба зорилгын функцийн утга (1) их байх болно.

Сургалтын багцаас оролтын векторуудын нэгийг сүлжээний оролт руу оруулна. Нейрон бүрийн гаралтын утгыг санахын зэрэгцээ сүлжээний гаралтын утгыг тооцоол.

Сүлжээний жинг тохируулах:

Сүлжээний гүйцэтгэлийн үнэлгээ

Сүлжээний гүйцэтгэлийг үнэлэх боломжтой тохиолдолд сургалтын мэдрэлийн сүлжээг оновчлолын асуудал болгон төлөөлж болно. Үнэлгээ гэдэг нь сүлжээ нь өөрт нь өгсөн даалгаврыг сайн эсвэл муу шийдэж байгаа эсэхийг тоон байдлаар харуулахыг хэлнэ. Энэ зорилгоор үнэлгээний функцийг бүтээдэг. Дүрмээр бол энэ нь сүлжээний гаралтын дохионоос шууд хамаардаг ба түүний бүх параметрээс далд байдлаар (ажиллах замаар) хамаардаг. Үнэлгээний хамгийн энгийн бөгөөд түгээмэл жишээ бол сүлжээний гаралтын дохионоос шаардлагатай утгууд хүртэлх зайны квадратын нийлбэр юм.

гаралтын дохионы шаардлагатай утга хаана байна.

Хамгийн бага квадратын арга нь үргэлж байдаггүй хамгийн сайн сонголтүнэлгээ. Үнэлгээний функцийг нарийн зохион бүтээх нь сүлжээний сургалтын үр ашгийг дарааллаар нь нэмэгдүүлэх, түүнчлэн олж авах боломжийг олгодог. нэмэлт мэдээлэл- өгсөн хариулт дахь сүлжээний "итгэлийн түвшин".

Алгоритмын сул тал

Хэдийгээр олон тооны амжилттай програмуудБуцах нь өвчин эмгэг биш юм. Хамгийн хэцүү зүйл бол хязгааргүй урт хугацааны суралцах үйл явц юм. IN нарийн төвөгтэй даалгаварСүлжээг сургахад хэдэн өдөр, бүр долоо хоног шаардагдана, эсвэл огт сурахгүй байж магадгүй. Үүний шалтгаан нь доор дурдсан зүйлсийн нэг байж болно.

Сүлжээний саажилт

Сүлжээний сургалтын явцад жингийн утга нь залруулгын үр дүнд маш их болж болно. их хэмжээгээр. Үүний үр дүнд бүх мэдрэлийн эсүүд эсвэл ихэнх мэдрэлийн эсүүд маш хурдан ажилладаг том үнэ цэнэ OUT, шахалтын функцийн дериватив нь маш бага байдаг бүсэд. Сургалтын явцад буцааж илгээсэн алдаа нь энэ деривативтай пропорциональ байдаг тул сургалтын үйл явц бараг хөлддөг. Онолын үүднээс авч үзвэл энэ асуудлыг сайн ойлгоогүй байна. Энэ нь ихэвчлэн алхамын хэмжээг багасгах замаар зайлсхийх болно h, гэхдээ энэ нь сургалтын цагийг нэмэгдүүлдэг. Саажилтаас урьдчилан сэргийлэх эсвэл сэргээхэд янз бүрийн эвристикийг ашигласан боловч одоогоор тэдгээрийг зөвхөн туршилт гэж үзэх боломжтой.

Орон нутгийн минимум

Буцах тархалт нь градиент уналтын хэлбэрийг ашигладаг, өөрөөр хэлбэл алдааны гадаргуугаас доош бууж, жинг хамгийн бага хэмжээнд хүртэл тасралтгүй тохируулдаг. Нарийн төвөгтэй сүлжээний алдааны гадаргуу нь өндөр бартаатай бөгөөд өндөр хэмжээст орон зайд толгод, хөндий, атираа, жалга зэргээс бүрддэг. Ойролцоох нь илүү их байх үед сүлжээ нь орон нутгийн хамгийн бага хэмжээнд (гүехэн хөндий) унаж магадгүй юм гүн доогуур. Яг цэг дээр орон нутгийн доод хэмжээБүх чиглэлүүд дээшээ чиглэж, сүлжээ үүнээс гарч чадахгүй. Мэдрэлийн сүлжээг сургахад тулгардаг гол бэрхшээл бол локал минимумаас гарах аргууд юм: локал минимумыг орхих болгонд дараагийн локал минимумыг алдаанаас гарах арга замыг олох боломжгүй болтол нь ижил алдааны буцаах аргыг ашиглан дахин хайдаг. .

Алхам хэмжээ

Конвергенцийн нотолгоог сайтар судалж үзэхэд жингийн залруулга нь хязгааргүй бага байна гэж үздэг. Энэ нь практикт боломжгүй гэдэг нь тодорхой, учир нь энэ нь эцэс төгсгөлгүй суралцах цагийг дагуулдаг. Алхам хэмжээ нь хязгаарлагдмал байх ёстой. Хэрэв алхамын хэмжээ тогтмол бөгөөд маш бага бол нэгдэл нь хэтэрхий удаан, хэрэв энэ нь тогтмол бөгөөд хэт том байвал саажилт эсвэл байнгын тогтворгүй байдал үүсч болно. Оноо сайжрахаа болих хүртэл алхамыг үр дүнтэй нэмэгдүүлээрэй энэ чиглэлдэсрэг градиент ба ийм сайжруулалт гарахгүй бол багасгах. П.Д.Вассерман сургалтын явцад алхамын хэмжээг автоматаар тохируулдаг дасан зохицох алхам сонгох алгоритмыг тодорхойлсон. А.Н.Горбаны ном нь сургалтын оновчтой болгох өргөн хүрээтэй технологийг санал болгодог.

Сүлжээг дахин сургах боломжтой гэдгийг тэмдэглэх нь зүйтэй бөгөөд энэ нь топологийн алдаатай дизайны үр дүн юм. Хэзээ ч гэсэн их хэмжээгээрмэдрэлийн эсүүд, сүлжээний мэдээллийг нэгтгэх чадвар алдагддаг. Сургалтанд зориулж өгсөн зургийн багцыг бүхэлд нь сүлжээгээр сургах боловч бусад зургуудыг, тэр ч байтугай маш төстэй зургуудыг буруу ангилж болно.

Хөгжлийн орчин, түүнийг сонгох шалтгаан

Аппликейшн нь MicrosoftVisualStudio 2010 хөгжүүлэлтийн орчинд .NETFramework4.0 хүрээтэй C# програмчлалын хэлээр боловсруулагдах бөгөөд их хэмжээний тооцоолол шаарддаг кодын хэсгүүдийг C++ хэл дээр боловсруулдаг. MSVisualStudio 2010 багтана бүрэн багцДизайнаас эхлээд байршуулах хүртэлх хөгжлийн үйл явцын алхам бүрийг хялбаршуулдаг шинэ, сайжруулсан боломжууд.

MicrosoftVisualStudio 2010 Ultimate нь программ боловсруулах үйл явцыг бүхэлд нь хялбаршуулдаг нэгдсэн хэрэгслүүдийн орчин, серверийн дэд бүтэц юм. Бизнесийн програмууд нь үр ашигтай, урьдчилан таамаглах боломжтой, өөрчлөх боломжтой процессуудыг ашиглан бүтээгдсэн. Нарийвчилсан аналитик нь бүх зүйлийн ил тод байдал, хянах боломжийг нэмэгдүүлдэг амьдралын мөчлөгпрограмууд. Шинэ шийдлүүдийг бий болгох, одоо байгаа шийдлүүдийг өөрчлөхдөө хоёуланг нь ашиглан хөгжүүлнэ хүчирхэг хэрэгсэлүүлэн тооцоолол, зэрэгцээ боловсруулалт зэрэг төрөл бүрийн платформ, технологид зориулсан программуудыг хөгжүүлэх боломжийг олгодог загварчлал, архитектурын дизайн, хөгжүүлэлт. Дэвшилтэт зохицуулалтын чадвар хамтарсан үйл ажиллагаанэгдсэн, шинэлэг туршилт, дибаг хийх хэрэгслүүдийн хамт багийн бүтээмжийг дээшлүүлж, өндөр чанартай, хямд өртөгтэй шийдлүүдийг хүргэх болно.

C# хэл дээрх MicrosoftVisualStudio2010 Ultimate програмыг .NETFramework4.0 хүрээтэй программ хөгжүүлэлт нь объект хандалтат програмчлал болон визуал програмчлалыг ашиглан хийгддэг.

Сүлжээний гаралтаас түүний оролт руу чиглэсэн алдаа нь хэвийн үйл ажиллагааны үед дохионы урагш тархахаас эсрэг чиглэлд байна. Барцев, Охонин нар нэн даруй ерөнхий аргыг санал болгов ("хоёрдмол байдлын зарчим") илүү өргөн ангиллын системд, үүнд сааталтай систем, тархсан систем гэх мэт.

Буцах тархалтын аргыг ашиглахын тулд мэдрэлийн эсийн дамжуулах функцийг ялгах чадвартай байх ёстой. Энэ арга нь сонгодог градиент удмын аргын өөрчлөлт юм.

Сигмоид идэвхжүүлэх функцууд

Дараах төрлийн сигмоидуудыг идэвхжүүлэх функц болгон ихэвчлэн ашигладаг.

Ферми функц (экпоненциал сигмоид):

Рационал сигмоид:

Гипербол тангенс:

,

Энд s нь нейрон нэмэгчийн гаралт бөгөөд дурын тогтмол юм.

Рационал сигмоидыг тооцоолоход бусад сигмоидуудтай харьцуулахад CPU-ийн хамгийн бага хугацаа шаардагдана. Гиперболын тангенсыг тооцоолоход процессорын хамгийн их цикл шаардагдана. Босгоны идэвхжүүлэлтийн функцуудтай харьцуулахад сигмоидуудыг маш удаан тооцдог. Хэрэв босго функцийг нэгтгэсний дараа та нэн даруй тодорхой утгатай (босго) харьцуулж эхлэх боломжтой бол сигмоид функцийг идэвхжүүлэх тохиолдолд сигмоид (цаг хугацаа зарцуулах) тооцоолох хэрэгтэй. хамгийн сайн тохиолдолГурван үйлдлээр: модулийг авах, нэмэх, хуваах), зөвхөн дараа нь босго утгатай (жишээлбэл, тэг) харьцуулна. Хэрэв бид хамгийн энгийн бүх үйлдлүүдийг процессор ойролцоогоор ижил хугацаанд тооцдог гэж үзвэл нийлбэрийн дараа сигмоид идэвхжүүлэлтийн функцийн ажиллагаа (энэ нь ижил хугацаа шаардагдана) босго идэвхжүүлэлтийн функцээс хэд дахин удаан байх болно. 1:4.

Сүлжээний үнэлгээний функц

Сүлжээний гүйцэтгэлийг үнэлэх боломжтой тохиолдолд сургалтын мэдрэлийн сүлжээг оновчлолын асуудал болгон төлөөлж болно. Үнэлгээ гэдэг нь сүлжээ нь өөрт нь өгсөн даалгаврыг сайн эсвэл муу шийдэж байгаа эсэхийг тоон байдлаар харуулахыг хэлнэ. Энэ зорилгоор үнэлгээний функцийг бүтээдэг. Дүрмээр бол энэ нь сүлжээний гаралтын дохионоос шууд хамаардаг ба түүний бүх параметрээс далд байдлаар (ажиллах замаар) хамаардаг. Үнэлгээний хамгийн энгийн бөгөөд түгээмэл жишээ бол сүлжээний гаралтын дохионоос шаардлагатай утгууд хүртэлх зайны квадратын нийлбэр юм.

,

гаралтын дохионы шаардлагатай утга хаана байна.

Алгоритмын тайлбар

Олон давхаргат перцептрон архитектур

Буцах тархалтын алгоритмыг олон давхаргат перцептрон дээр хэрэглэнэ. Сүлжээ нь олон оролт, олон гаралт, олон дотоод зангилаатай байдаг. Бүх зангилааг (оролт, гаралтыг оруулаад) 1-ээс N хүртэлх тоогоор дахин дугаарлацгаая (давхаргын топологиос үл хамааран тасралтгүй дугаарлах). i-р ба j-р зангилаануудыг холбосон ирмэг дээр зогсож буй жин, i-р зангилааны гаралтаар тэмдэглэе. Хэрэв бид сургалтын жишээг мэддэг бол (сүлжээний зөв хариултууд), хамгийн бага квадратын аргыг ашиглан олж авсан алдааны функц дараах байдалтай байна.

Жингээ хэрхэн өөрчлөх вэ? Бид стохастик градиент уналтыг хэрэгжүүлнэ, өөрөөр хэлбэл сургалтын жишээ бүрийн дараа жинг тохируулж, улмаар жингийн олон хэмжээст орон зайд "хөдөлгөөн" хийнэ. Хамгийн бага алдааг "авахын тулд" бид градиентийн эсрэг чиглэлд "хөдөлгөөн" хийх хэрэгтэй, өөрөөр хэлбэл зөв хариултын бүлэг тус бүр дээр үндэслэн жин тус бүрт нэмэх хэрэгтэй.

,

"хөдөлгөөний" хурдыг тодорхойлдог үржүүлэгч хаана байна.

Деривативыг дараах байдлаар тооцоолно. Эхлээд бидний сонирхож буй жинг мэдрэлийн эсэд оруулна сүүлийн түвшин. Нэгдүгээрт, энэ нь сүлжээний гаралтад зөвхөн нийлбэрийн нэг хэсэг болгон нөлөөлдөг гэдгийг бид тэмдэглэж, нийлбэрийг j-р зангилааны оролтоор авдаг. Тийм ч учраас

Үүний нэгэн адил, энэ нь зөвхөн j-р зангилааны гаралтын доторх нийт алдаанд нөлөөлдөг (энэ нь бүх сүлжээний гаралт гэдгийг санаарай). Тийм ч учраас

Хэрэв j-р зангилаа- сүүлчийн түвшинд биш, дараа нь гарцтай; Тэднийг Хүүхдүүд(j) гэж тэмдэглэе. Энэ тохиолдолд

, .

За - энэ нь яг ижил төстэй залруулга боловч дараагийн түвшний зангилаанд зориулж тооцоолсон, бид үүнийг тэмдэглэнэ - үүнээс үржүүлэгч байхгүй тохиолдолд ялгаатай. Бид сүүлийн түвшний зангилааны засварыг тооцоолж, зангилааны засварыг илүү илэрхийлж сурсан бага түвшинилүү өндөр засвар хийснээр та аль хэдийн алгоритм бичиж болно. Залруулгын тооцооны энэ онцлогоос болж алгоритмыг нэрлэсэн буцаан тархалтын алгоритм(буцах тархалт). Хийсэн ажлын товч тойм:

  • сүүлийн түвшний зангилааны хувьд
  • дотоод сүлжээний зангилааны хувьд
  • бүх зангилааны хувьд

Үр дүнгийн алгоритмыг доор үзүүлэв. Алгоритмын оролтын хувьд заасан параметрүүдээс гадна сүлжээний бүтцийг ямар нэгэн форматаар оруулах шаардлагатай. Практикт маш сайн үр дүнг хоёр түвшний нейронуудаас бүрдэх энгийн бүтэцтэй сүлжээнүүд харуулж байна - далд түвшин (далд нэгж) ба гаралтын нейрон (гаралтын нэгж); Сүлжээний оролт бүр нь бүх далд мэдрэлийн эсүүдтэй холбогддог бөгөөд далд нейрон бүрийн ажлын үр дүн нь гаралтын нейрон бүрийн оролт руу тэжээгддэг. Энэ тохиолдолд далд түвшний нейронуудын тоог оруулахад хангалттай.

Алгоритм

Алгоритм: Буцах тархалт

Зорилгын функцийн гадаргуугийн дагуу хөдөлж байх үед огцом үсрэлтийг жигдрүүлэх инерцийн коэффициент хаана байна

Мэдрэлийн сүлжээний сургалтын математик тайлбар

Буцах алгоритмын давталт бүрт нэг жишээний шийдлийг сайжруулахын тулд мэдрэлийн сүлжээний жинг өөрчилдөг. Тиймээс сургалтын явцад нэг шалгуурын оновчлолын асуудлыг мөчлөгөөр шийддэг.

Мэдрэлийн сүлжээний сургалт нь мэдрэлийн сүлжээний сургалтыг дараахаас ялгах дөрвөн тусгай хязгаарлалтаар тодорхойлогддог. нийтлэг даалгаварОновчлол: одон орны тоон үзүүлэлт, сургалтын явцад өндөр параллелизм хийх хэрэгцээ, шийдэж буй асуудлын олон шалгуурын шинж чанар, бүх багасгасан функцүүдийн утгууд хамгийн багадаа ойрхон байгаа нэлээд өргөн талбайг олох хэрэгцээ. Үгүй бол сургалтын асуудлыг ерөнхийдөө оноог багасгах бодлого болгон томъёолж болно. Өмнөх хэллэг дэх ("ихэвчлэн") болгоомжлол нь үнэндээ бид мэдрэлийн сүлжээнүүдийн бүх боломжит асуудлуудыг мэдэхгүй, хэзээ ч мэдэхгүй, магадгүй хаа нэгтээ үл мэдэгдэх асуудлууд байдаг тул үүнийг багасгах боломжгүй байдаг. тооцоо. Үнэлгээг багасгах - нарийн төвөгтэй асуудал: одон орны хувьд олон параметрүүд байдаг (for стандарт жишээнүүд, PC дээр хэрэгжсэн - 100-аас 1,000,000 хүртэл), дасан зохицох рельеф (тохируулах параметрийн функц болох тооцооллын график) нь нарийн төвөгтэй бөгөөд олон орон нутгийн минимумуудыг агуулж болно.

Алгоритмын сул тал

Буцах тархалтыг олон удаа амжилттай ашиглаж байсан ч энэ нь эм биш юм. Хамгийн хэцүү зүйл бол хязгааргүй урт хугацааны суралцах үйл явц юм. Нарийн төвөгтэй асуудлуудад сүлжээг сургахад хэдэн өдөр, бүр долоо хоног шаардагдана, эсвэл огт сурахгүй байж болно. Үүний шалтгаан нь доор дурдсан зүйлсийн нэг байж болно.

Сүлжээний саажилт

Сүлжээний сургалтын явцад жингийн утга нь залруулгын үр дүнд маш их болж болно. Энэ нь агшилтын функцийн дериватив нь маш бага байдаг бүс нутагт бүх буюу ихэнх нейронууд маш их OUT утгуудаар ажиллахад хүргэж болзошгүй юм. Сургалтын явцад буцааж илгээсэн алдаа нь энэ деривативтай пропорциональ байдаг тул сургалтын үйл явц бараг хөлддөг. Онолын үүднээс авч үзвэл энэ асуудлыг сайн ойлгоогүй байна. Энэ нь ихэвчлэн алхамын хэмжээг η багасгах замаар зайлсхийх боловч энэ нь сургалтын цагийг нэмэгдүүлдэг. Саажилтаас урьдчилан сэргийлэх эсвэл сэргээхэд янз бүрийн эвристикийг ашигласан боловч одоогоор тэдгээрийг зөвхөн туршилт гэж үзэх боломжтой.

Орон нутгийн минимум

Буцах тархалт нь градиент уналтын хэлбэрийг ашигладаг, өөрөөр хэлбэл алдааны гадаргуугаас доош бууж, жинг хамгийн бага хэмжээнд хүртэл тасралтгүй тохируулдаг. Нарийн төвөгтэй сүлжээний алдааны гадаргуу нь өндөр бартаатай бөгөөд өндөр хэмжээст орон зайд толгод, хөндий, атираа, жалга зэргээс бүрддэг. Ойролцоох доод хязгаар нь илүү гүн байх үед сүлжээ нь орон нутгийн минимумд (гүехэн хөндий) орж болно. Орон нутгийн хамгийн бага цэг дээр бүх чиглэлүүд дээшээ чиглэсэн бөгөөд сүлжээ нь үүнээс зугтах боломжгүй юм. Мэдрэлийн сүлжээг сургахад тулгардаг гол бэрхшээл бол локал минимумаас зугтах аргууд юм: локал минимумыг орхих болгонд дараагийн локал минимумыг алдаанаас гарах арга замыг олох боломжгүй болтол нь ижил алдааны буцаах аргыг ашиглан дахин хайдаг. тэр.

Алхам хэмжээ

Конвергенцийн нотолгоог сайтар судалж үзэхэд жингийн залруулга нь хязгааргүй бага байна гэж үздэг. Энэ нь практикт хэрэгжих боломжгүй гэдэг нь тодорхой бөгөөд энэ нь суралцах хугацаа дуусахад хүргэдэг. Алхам хэмжээ нь хязгаарлагдмал байх ёстой. Хэрэв алхамын хэмжээ тогтмол бөгөөд маш бага бол нэгдэл нь хэтэрхий удаан, хэрэв энэ нь тогтмол бөгөөд хэт том байвал саажилт эсвэл байнгын тогтворгүй байдал үүсч болно. Антиградиентийн өгөгдсөн чиглэлд үнэлгээний сайжруулалт зогсох хүртэл алхамыг нэмэгдүүлэх, хэрэв ийм сайжруулалт гарахгүй бол багасгах нь үр дүнтэй байдаг. П.Д.Вассерман сургалтын явцад алхамын хэмжээг автоматаар тохируулдаг дасан зохицох алхам сонгох алгоритмыг тодорхойлсон. А.Н.Горбаны ном нь сургалтын оновчтой болгох өргөн хүрээтэй технологийг санал болгодог.

Сүлжээг дахин сургах боломжтой гэдгийг тэмдэглэх нь зүйтэй бөгөөд энэ нь топологийн алдаатай дизайны үр дүн юм. Хэт олон нейронтой бол сүлжээний мэдээллийг нэгтгэх чадвар алдагддаг. Сургалтанд зориулж өгсөн зургийн багцыг бүхэлд нь сүлжээгээр сургах боловч бусад зургуудыг, тэр ч байтугай маш төстэй зургуудыг буруу ангилж болно.

Мөн үзнэ үү

  • Хурдны градиент алгоритм

Уран зохиол

  1. Вассерман Ф.Нейрокомпьютер: онол ба практик. - М.: "Мир", 1992.
  2. Хайкин С.Мэдрэлийн сүлжээ: Бүрэн курс. Пер. англи хэлнээс N. N. Kussul, A. Yu Shelestova. 2-р хэвлэл, илч. - М.: Хэвлэлийн газарУильямс, 2008, 1103 х.

Холбоосууд

  1. Копосов А.И., Щербаков И.Б., Кисленко Н.А., Кисленко О.П., Варивода Ю.. - М.: ВНИГАЗ, 1995 он.

Сүлжээний гаралтаас түүний оролт руу чиглэсэн алдаа нь хэвийн үйл ажиллагааны үед дохионы урагш тархахаас эсрэг чиглэлд байна. Барцев, Охонин нар нэн даруй ерөнхий аргыг санал болгов ("хоёрдмол байдлын зарчим") илүү өргөн ангиллын системд, үүнд сааталтай систем, тархсан систем гэх мэт.

Буцах тархалтын аргыг ашиглахын тулд мэдрэлийн эсийн дамжуулах функцийг ялгах чадвартай байх ёстой. Энэ арга нь сонгодог градиент удмын аргын өөрчлөлт юм.

Сигмоид идэвхжүүлэх функцууд

Дараах төрлийн сигмоидуудыг идэвхжүүлэх функц болгон ихэвчлэн ашигладаг.

Ферми функц (экпоненциал сигмоид):

Рационал сигмоид:

Гипербол тангенс:

,

Энд s нь нейрон нэмэгчийн гаралт бөгөөд дурын тогтмол юм.

Рационал сигмоидыг тооцоолоход бусад сигмоидуудтай харьцуулахад CPU-ийн хамгийн бага хугацаа шаардагдана. Гиперболын тангенсыг тооцоолоход процессорын хамгийн их цикл шаардагдана. Босгоны идэвхжүүлэлтийн функцуудтай харьцуулахад сигмоидуудыг маш удаан тооцдог. Хэрэв босго функцийг нэгтгэсний дараа та нэн даруй тодорхой утгатай (босго) харьцуулж эхлэх боломжтой бол сигмоид идэвхжүүлэх функцийн хувьд сигмоидыг тооцоолох хэрэгтэй (хамгийн сайндаа гурван үйлдэлд зарцуулдаг цаг: авах). модуль, нэмэх, хуваах), зөвхөн дараа нь босго утгатай харьцуулах (жишээлбэл, тэг). Хэрэв бид хамгийн энгийн бүх үйлдлүүдийг процессор ойролцоогоор ижил хугацаанд тооцдог гэж үзвэл нийлбэрийн дараа сигмоид идэвхжүүлэлтийн функцийн ажиллагаа (энэ нь ижил хугацаа шаардагдана) босго идэвхжүүлэлтийн функцээс хэд дахин удаан байх болно. 1:4.

Сүлжээний үнэлгээний функц

Сүлжээний гүйцэтгэлийг үнэлэх боломжтой тохиолдолд сургалтын мэдрэлийн сүлжээг оновчлолын асуудал болгон төлөөлж болно. Үнэлгээ гэдэг нь сүлжээ нь өөрт нь өгсөн даалгаврыг сайн эсвэл муу шийдэж байгаа эсэхийг тоон байдлаар харуулахыг хэлнэ. Энэ зорилгоор үнэлгээний функцийг бүтээдэг. Дүрмээр бол энэ нь сүлжээний гаралтын дохионоос шууд хамаардаг ба түүний бүх параметрээс далд байдлаар (ажиллах замаар) хамаардаг. Үнэлгээний хамгийн энгийн бөгөөд түгээмэл жишээ бол сүлжээний гаралтын дохионоос шаардлагатай утгууд хүртэлх зайны квадратын нийлбэр юм.

,

гаралтын дохионы шаардлагатай утга хаана байна.

Алгоритмын тайлбар

Олон давхаргат перцептрон архитектур

Буцах тархалтын алгоритмыг олон давхаргат перцептрон дээр хэрэглэнэ. Сүлжээ нь олон оролт, олон гаралт, олон дотоод зангилаатай байдаг. Бүх зангилааг (оролт, гаралтыг оруулаад) 1-ээс N хүртэлх тоогоор дахин дугаарлацгаая (давхаргын топологиос үл хамааран тасралтгүй дугаарлах). i-р ба j-р зангилаануудыг холбосон ирмэг дээр зогсож буй жин, i-р зангилааны гаралтаар тэмдэглэе. Хэрэв бид сургалтын жишээг мэддэг бол (сүлжээний зөв хариултууд), хамгийн бага квадратын аргыг ашиглан олж авсан алдааны функц дараах байдалтай байна.

Жингээ хэрхэн өөрчлөх вэ? Бид стохастик градиент уналтыг хэрэгжүүлнэ, өөрөөр хэлбэл сургалтын жишээ бүрийн дараа жинг тохируулж, улмаар жингийн олон хэмжээст орон зайд "хөдөлгөөн" хийнэ. Хамгийн бага алдааг "авахын тулд" бид градиентийн эсрэг чиглэлд "хөдөлгөөн" хийх хэрэгтэй, өөрөөр хэлбэл зөв хариултын бүлэг тус бүр дээр үндэслэн жин тус бүрт нэмэх хэрэгтэй.

,

"хөдөлгөөний" хурдыг тодорхойлдог үржүүлэгч хаана байна.

Деривативыг дараах байдлаар тооцоолно. Эхлээд , өөрөөр хэлбэл бидний сонирхож буй жинг сүүлчийн түвшний нейрон руу оруулаарай. Нэгдүгээрт, энэ нь сүлжээний гаралтад зөвхөн нийлбэрийн нэг хэсэг болгон нөлөөлдөг гэдгийг бид тэмдэглэж, нийлбэрийг j-р зангилааны оролтоор авдаг. Тийм ч учраас

Үүний нэгэн адил, энэ нь зөвхөн j-р зангилааны гаралтын доторх нийт алдаанд нөлөөлдөг (энэ нь бүх сүлжээний гаралт гэдгийг санаарай). Тийм ч учраас

Хэрэв j-р зангилаа сүүлийн түвшинд байхгүй бол гаралттай байна; Тэднийг Хүүхдүүд(j) гэж тэмдэглэе. Энэ тохиолдолд

, .

За - энэ нь яг ижил төстэй залруулга боловч дараагийн түвшний зангилаанд зориулж тооцоолсон, бид үүнийг тэмдэглэнэ - үүнээс үржүүлэгч байхгүй тохиолдолд ялгаатай. Сүүлийн түвшний зангилааны залруулга тооцоолж, доод түвшний зангилааны засварыг дээд түвшний залруулгаар илэрхийлж сурсан тул бид аль хэдийн алгоритм бичиж болно. Залруулгын тооцооны энэ онцлогоос болж алгоритмыг нэрлэсэн буцаан тархалтын алгоритм(буцах тархалт). Хийсэн ажлын товч тойм:

  • сүүлийн түвшний зангилааны хувьд
  • дотоод сүлжээний зангилааны хувьд
  • бүх зангилааны хувьд

Үр дүнгийн алгоритмыг доор үзүүлэв. Алгоритмын оролтын хувьд заасан параметрүүдээс гадна сүлжээний бүтцийг ямар нэгэн форматаар оруулах шаардлагатай. Практикт маш сайн үр дүнг хоёр түвшний нейронуудаас бүрдэх энгийн бүтэцтэй сүлжээнүүд харуулж байна - далд түвшин (далд нэгж) ба гаралтын нейрон (гаралтын нэгж); Сүлжээний оролт бүр нь бүх далд мэдрэлийн эсүүдтэй холбогддог бөгөөд далд нейрон бүрийн ажлын үр дүн нь гаралтын нейрон бүрийн оролт руу тэжээгддэг. Энэ тохиолдолд далд түвшний нейронуудын тоог оруулахад хангалттай.

Алгоритм

Алгоритм: Буцах тархалт

Зорилгын функцийн гадаргуугийн дагуу хөдөлж байх үед огцом үсрэлтийг жигдрүүлэх инерцийн коэффициент хаана байна

Мэдрэлийн сүлжээний сургалтын математик тайлбар

Буцах алгоритмын давталт бүрт нэг жишээний шийдлийг сайжруулахын тулд мэдрэлийн сүлжээний жинг өөрчилдөг. Тиймээс сургалтын явцад нэг шалгуурын оновчлолын асуудлыг мөчлөгөөр шийддэг.

Мэдрэлийн сүлжээний сургалт нь мэдрэлийн сүлжээний сургалтыг ерөнхий оновчлолын асуудлаас ялгах дөрвөн тусгай хязгаарлалтаар тодорхойлогддог: одон орны параметрийн тоо, сургалтын явцад өндөр параллель байх хэрэгцээ, шийдэж буй асуудлын олон шалгуурын шинж чанар, шийдлийг олох хэрэгцээ. бүх багасгасан функцүүдийн утгууд хамгийн багадаа ойр байх хангалттай өргөн талбай. Үгүй бол сургалтын асуудлыг ерөнхийдөө оноог багасгах бодлого болгон томъёолж болно. Өмнөх хэллэг дэх ("ихэвчлэн") болгоомжлол нь үнэндээ бид мэдрэлийн сүлжээнүүдийн бүх боломжит асуудлуудыг мэдэхгүй, хэзээ ч мэдэхгүй, магадгүй хаа нэгтээ үл мэдэгдэх асуудлууд байдаг тул үүнийг багасгах боломжгүй байдаг. тооцоо. Тооцооллыг багасгах нь нарийн төвөгтэй асуудал юм: одон орны олон тооны параметрүүд байдаг (компьютер дээр хэрэгжүүлсэн стандарт жишээнүүдийн хувьд - 100-аас 1,000,000 хүртэл), дасан зохицох рельеф (тохируулсан параметрийн функц болох үнэлгээний график) нь нарийн төвөгтэй бөгөөд агуулж болно. олон орон нутгийн минимум.

Алгоритмын сул тал

Буцах тархалтыг олон удаа амжилттай ашиглаж байсан ч энэ нь эм биш юм. Хамгийн хэцүү зүйл бол хязгааргүй урт хугацааны суралцах үйл явц юм. Нарийн төвөгтэй асуудлуудад сүлжээг сургахад хэдэн өдөр, бүр долоо хоног шаардагдана, эсвэл огт сурахгүй байж болно. Үүний шалтгаан нь доор дурдсан зүйлсийн нэг байж болно.

Сүлжээний саажилт

Сүлжээний сургалтын явцад жингийн утга нь залруулгын үр дүнд маш их болж болно. Энэ нь агшилтын функцийн дериватив нь маш бага байдаг бүс нутагт бүх буюу ихэнх нейронууд маш их OUT утгуудаар ажиллахад хүргэж болзошгүй юм. Сургалтын явцад буцааж илгээсэн алдаа нь энэ деривативтай пропорциональ байдаг тул сургалтын үйл явц бараг хөлддөг. Онолын үүднээс авч үзвэл энэ асуудлыг сайн ойлгоогүй байна. Энэ нь ихэвчлэн алхамын хэмжээг η багасгах замаар зайлсхийх боловч энэ нь сургалтын цагийг нэмэгдүүлдэг. Саажилтаас урьдчилан сэргийлэх эсвэл сэргээхэд янз бүрийн эвристикийг ашигласан боловч одоогоор тэдгээрийг зөвхөн туршилт гэж үзэх боломжтой.

Орон нутгийн минимум

Буцах тархалт нь градиент уналтын хэлбэрийг ашигладаг, өөрөөр хэлбэл алдааны гадаргуугаас доош бууж, жинг хамгийн бага хэмжээнд хүртэл тасралтгүй тохируулдаг. Нарийн төвөгтэй сүлжээний алдааны гадаргуу нь өндөр бартаатай бөгөөд өндөр хэмжээст орон зайд толгод, хөндий, атираа, жалга зэргээс бүрддэг. Ойролцоох доод хязгаар нь илүү гүн байх үед сүлжээ нь орон нутгийн минимумд (гүехэн хөндий) орж болно. Орон нутгийн хамгийн бага цэг дээр бүх чиглэлүүд дээшээ чиглэсэн бөгөөд сүлжээ нь үүнээс зугтах боломжгүй юм. Мэдрэлийн сүлжээг сургахад тулгардаг гол бэрхшээл бол локал минимумаас зугтах аргууд юм: локал минимумыг орхих болгонд дараагийн локал минимумыг алдаанаас гарах арга замыг олох боломжгүй болтол нь ижил алдааны буцаах аргыг ашиглан дахин хайдаг. тэр.

Алхам хэмжээ

Конвергенцийн нотолгоог сайтар судалж үзэхэд жингийн залруулга нь хязгааргүй бага байна гэж үздэг. Энэ нь практикт хэрэгжих боломжгүй гэдэг нь тодорхой бөгөөд энэ нь суралцах хугацаа дуусахад хүргэдэг. Алхам хэмжээ нь хязгаарлагдмал байх ёстой. Хэрэв алхамын хэмжээ тогтмол бөгөөд маш бага бол нэгдэл нь хэтэрхий удаан, хэрэв энэ нь тогтмол бөгөөд хэт том байвал саажилт эсвэл байнгын тогтворгүй байдал үүсч болно. Антиградиентийн өгөгдсөн чиглэлд үнэлгээний сайжруулалт зогсох хүртэл алхамыг нэмэгдүүлэх, хэрэв ийм сайжруулалт гарахгүй бол багасгах нь үр дүнтэй байдаг. П.Д.Вассерман сургалтын явцад алхамын хэмжээг автоматаар тохируулдаг дасан зохицох алхам сонгох алгоритмыг тодорхойлсон. А.Н.Горбаны ном нь сургалтын оновчтой болгох өргөн хүрээтэй технологийг санал болгодог.

Сүлжээг дахин сургах боломжтой гэдгийг тэмдэглэх нь зүйтэй бөгөөд энэ нь топологийн алдаатай дизайны үр дүн юм. Хэт олон нейронтой бол сүлжээний мэдээллийг нэгтгэх чадвар алдагддаг. Сургалтанд зориулж өгсөн зургийн багцыг бүхэлд нь сүлжээгээр сургах боловч бусад зургуудыг, тэр ч байтугай маш төстэй зургуудыг буруу ангилж болно.

Мөн үзнэ үү

  • Хурдны градиент алгоритм

Уран зохиол

  1. Вассерман Ф.Нейрокомпьютер: онол ба практик. - М.: "Мир", 1992.
  2. Хайкин С.Мэдрэлийн сүлжээ: Бүрэн курс. Пер. англи хэлнээс N. N. Kussul, A. Yu Shelestova. 2-р хэвлэл, илч. - М.: Уильямс хэвлэлийн газар, 2008, 1103 х.

Холбоосууд

  1. Копосов А.И., Щербаков И.Б., Кисленко Н.А., Кисленко О.П., Варивода Ю.. - М.: ВНИГАЗ, 1995 он.

Буцах тархалтын алгоритм нь олон давхаргат дамжуулагч мэдрэлийн сүлжээг сургах аргуудын нэг бөгөөд үүнийг олон давхаргат мэдрэгч гэж нэрлэдэг. Олон давхаргат перцептроныг олон нарийн төвөгтэй асуудлыг шийдвэрлэхэд амжилттай ашигласан.

Буцааж тархах алгоритмтай сургалт нь сүлжээний бүх давхаргаар дамжин урагш болон хойш чиглэсэн хоёр дамжилтыг агуулдаг. Урагшаа дамжуулалтад оролтын вектор нь мэдрэлийн сүлжээний оролтын давхаргад тэжээгддэг ба дараа нь сүлжээгээр давхаргаас давхарга руу тархдаг. Үүний үр дүнд гаралтын дохионы багц үүсдэг бөгөөд энэ нь тухайн оролтын дүрсэнд сүлжээний бодит хариу үйлдэл юм. Урагш дамжуулах үед сүлжээний бүх синаптик жин тогтмол байдаг. Буцах дамжуулалтын үед бүх синаптик жинг алдаа засах дүрмийн дагуу тохируулдаг, тухайлбал: сүлжээний бодит гаралтыг хүссэн гаралтаас хасч, алдааны дохиог үүсгэдэг. Энэ дохио нь дараа нь синаптик холболтын чиглэлийн эсрэг чиглэлд сүлжээгээр тархдаг. Тиймээс нэр нь - буцаан тархалтын алгоритм. Сүлжээний гаралтыг хүссэн хэмжээндээ аль болох ойртуулахын тулд синаптик жинг тохируулдаг.

Алгоритмын ажиллагааг илүү нарийвчлан авч үзье. Та буцах тархалтын алгоритмыг ашиглан дараах мэдрэлийн сүлжээг сургах хэрэгтэй гэж бодъё.

Зураг дээр дараах тэмдэглэгээг ашигласан болно.

Олон давхаргат перцептрон дахь идэвхжүүлэлтийн функцийн хувьд дүрмээр бол сигмоид идэвхжүүлэх функцийг, ялангуяа логистикийг ашигладаг.

сигмоид функцийн налуу параметр хаана байна. Энэ параметрийг өөрчилснөөр та өөр өөр налуу бүхий функцуудыг барьж болно. Бид дараагийн бүх аргументуудад зөвхөн дээрх томьёогоор илэрхийлэгдсэн логистик идэвхжүүлэлтийн функцийг ашиглах болно гэдгийг анхааруулъя.

Сигмоид нь хэлбэлзлийн хүрээг нарийсгаж, утга нь тэгээс нэг хооронд байна. Олон давхаргат мэдрэлийн сүлжээ нь зөвхөн шугаман бус байдал байгаа тохиолдолд нэг давхаргат мэдрэлийн сүлжээнээс илүү их төлөөлөлтэй байдаг. Шахалтын функц нь шаардлагатай шугаман бус байдлыг хангадаг. Бодит байдал дээр ашиглах боломжтой олон функцууд байдаг. Буцах тархалтын алгоритм нь функцийг хаа сайгүй ялгах боломжтой байхыг л шаарддаг. Sigmoid нь энэ шаардлагыг хангадаг. Энэ нь автомат өсөлтийг хянах нэмэлт давуу талтай. Сул дохионы хувьд (өөрөөр хэлбэл тэгтэй ойролцоо үед) оролт-гаралтын муруй нь хүчтэй налуутай бөгөөд их хэмжээний ашиг өгдөг. Дохионы хэмжээ ихсэх тусам олз буурдаг. Ийм байдлаар том дохиог сүлжээгээр ханалтгүйгээр хүлээн авч, жижиг дохиог хэт сулруулахгүйгээр сүлжээгээр дамжуулдаг.

Сүлжээний сургалтын зорилгоБуцах тархалтын алгоритм нь тодорхой оролтын багцыг ашигласнаар шаардлагатай гаралтын багцад хүргэдэг жингийн тохируулга юм. Товчхондоо эдгээр оролт, гаралтын багцыг вектор гэж нэрлэнэ. Сургалтын явцад оролтын вектор бүрийн хувьд шаардлагатай гаралтыг зааж өгсөн зорилтот векторыг хослуулсан гэж үздэг. Тэднийг хамтдаа сургалтын хос гэж нэрлэдэг. Сүлжээг олон хосоор сургадаг.

Дараа нь:

  1. Жижиг санамсаргүй утгууд бүхий синаптик жинг эхлүүлэх.
  2. Сургалтын багцаас дараагийн сургалтын хосыг сонгох; оролтын векторыг сүлжээний оролтод оруулах.
  3. Сүлжээний гаралтыг тооцоол.
  4. Сүлжээний гаралт ба шаардлагатай гаралтын хоорондох зөрүүг тооцоолно (сургалтын хосын зорилтот вектор).
  5. Алдааг багасгахын тулд сүлжээний жинг тохируулна уу (доор үзнэ үү).
  6. Бүтэн багц дээрх алдаа нь хүлээн зөвшөөрөгдөх хэмжээнд хүрэх хүртэл сургалтын багцын вектор тус бүрээр 2-5-р алхамуудыг давтана.

2 ба 3-р алхмуудын гүйцэтгэсэн үйлдлүүд нь сүлжээг аль хэдийн сургасан үед хийгдсэн үйлдлүүдтэй төстэй, i.e. оролтын вектор өгөгдсөн ба үр дүнгийн гаралтыг тооцоолно. Тооцооллыг давхаргаар гүйцэтгэдэг. Зураг дээр. 1, давхаргын нейронуудын гаралтыг эхлээд тооцоолно (давхарга нь оролт бөгөөд үүнд ямар ч тооцоо хийхгүй гэсэн үг), дараа нь тэдгээрийг давхаргын оролт болгон ашиглаж, давхаргын нейронуудын гаралтыг тооцоолно. , энэ нь сүлжээний гаралтын векторыг бүрдүүлдэг. 2 ба 3-р алхам нь дохио нь сүлжээгээр оролтоос гаралт хүртэл тархах үед "урагш дамжуулах" гэж нэрлэгддэг.

4 ба 5-р алхамууд нь "буцах" хэсгийг бүрдүүлдэг бөгөөд тооцоолсон алдааны дохиог сүлжээгээр дамжуулж, жинг тохируулахад ашигладаг.

Сүлжээний жинг тохируулах 5-р алхамыг нарийвчлан авч үзье. Доор тайлбарласан хоёр тохиолдлыг энд онцлон тэмдэглэх нь зүйтэй.

Тохиолдол 1. Гаралтын давхаргын синаптик жинг тохируулах

Жишээлбэл, Зураг дээрх мэдрэлийн сүлжээний загвар. 1, эдгээр нь дараах тэмдэглэгээтэй жин байх болно: ба . Индекс нь синаптик жин гарч ирдэг нейрон болон түүний орж буй нейроныг илэрхийлэх болно гэдгийг шийдье.

Логистик идэвхжүүлэлтийн функцийн деривативаар үржүүлсэн шаардлагатай ба бодит гаралтын зөрүүтэй тэнцүү утгыг танилцуулъя (дээрх логистик идэвхжүүлэлтийн функцийн томъёог үзнэ үү):

Дараа нь залруулга хийсний дараа гаралтын давхаргын жин дараах байдалтай тэнцүү байна.

Синаптик жинг тооцоолох жишээ энд байна.

Тохиолдол 2. Далд давхаргын синаптик жинг тохируулах

Зураг дээрх мэдрэлийн сүлжээний загварын хувьд. 1, эдгээр нь давхаргууд болон . Индекс нь синаптик жин гарч ирдэг мэдрэлийн эс болон түүний орж буй нейроныг (шинэ хувьсагч гарч ирэхийг анхаарна уу) илэрхийлнэ гэж шийдье.

Олон давхаргат мэдрэлийн сүлжээнд сүүлийнхээс бусад бүх давхаргын нейронуудын оновчтой гаралтын утгууд нь дүрмээр бол гурав ба түүнээс дээш давхаргын перцептроныг зөвхөн алдааны утгыг удирдаж сургах боломжгүй болно; сүлжээний гаралтууд дээр

Энэ асуудлыг шийдэх сонголтуудын нэг бол мэдрэлийн сүлжээний давхарга бүрт тохирох гаралтын дохионы багцыг боловсруулах явдал бөгөөд энэ нь мэдээжийн хэрэг маш их хөдөлмөр шаарддаг бөгөөд үргэлж хэрэгжих боломжгүй юм синапсуудын жингийн коэффициентийг динамикаар тохируулах, энэ үед дүрмээр бол тэдгээрийг хамгийн их сонгодог сул холбооба нэг чиглэлд бага хэмжээгээр өөрчлөгдөх бөгөөд зөвхөн бүх сүлжээний гаралтын алдаа буурахад хүргэдэг өөрчлөлтүүд хадгалагдана. энэ арга, үл харгалзан

харагдахуйц энгийн байдал нь төвөгтэй тооцоолол шаарддаг бөгөөд эцэст нь, гурав дахь, илүү хүлээн зөвшөөрөгдсөн сонголт бол мэдрэлийн сүлжээний гаралтаас түүний оролт руу, дохионы шууд тархалтын эсрэг чиглэлд тархах явдал юм Алгоритмыг буцаах процедур гэж нэрлэдэг (алдаа буцах тархалт) Энэ бол түүнийг доор авч үзэх болно.

Буцааж тархах алгоритм нь давталтын градиент сургалтын алгоритм бөгөөд үүнийг багасгахад ашигладаг. стандарт хазайлтцуваа холболттой олон давхаргат мэдрэлийн сүлжээний шаардлагатай гаралтын гүйдэл

Хамгийн бага квадратын аргын дагуу багасгах гэж буй мэдрэлийн сүлжээний зорилтот алдааны функц нь утга юм

Мэдрэлийн сүлжээний гаралтын давхаргад дүрсийг оролт руу нь оруулах үед нейроны бодит гаралтын төлөв хаана байна, энэ нейроны шаардлагатай гаралтын төлөв

Дүгнэлт нь гаралтын давхаргын бүх мэдрэлийн эсүүд болон сүлжээгээр боловсруулсан бүх зураг дээр хийгддэг

Давхаргын нейроныг давхаргын нейронтой холбосон синаптик холболтын жингийн коэффициент хаана байна - суралцах хурдны коэффициент,

Нарийн төвөгтэй функцийг ялгах дүрмийн дагуу

Энд нейроны оролтын дохионы жигнэсэн нийлбэр ба идэвхжүүлэх функцийн аргумент нь абсцисса тэнхлэгт бүхэлдээ тодорхойлогдох ёстой тул нэгжийн үсрэлт функц болон нэг төрлийн бус бусад идэвхжүүлэлтийн функцууд тохиромжгүй. авч үзэж буй мэдрэлийн сүлжээнүүд нь дараахь зүйлийг ашигладаг жигд функцууд, Хэрхэн гиперболын тангенсэсвэл экспоненциалтай сонгодог сигмоид (Хүснэгт 1 1-ийг үзнэ үү) Жишээлбэл, гипербол тангенсийн хувьд.

Гурав дахь үржүүлэгч нь өмнөх давхаргын нейроны гаралттай тэнцүү байна

(1.11)-ийн эхний хүчин зүйлийн хувьд үүнийг дараах байдлаар хялбархан өргөжүүлж болно.

Энд нийлбэрийг шинэ хувьсагч оруулах замаар давхаргын нейронуудын хооронд гүйцэтгэнэ.

Бид хуучин давхаргын утгуудаас давхаргын утгыг тооцоолох рекурсив томъёог олж авдаг

Гаралтын давхаргын хувьд:

Одоо бид (1.10) өргөтгөсөн хэлбэрээр бичиж болно:

Заримдаа жинг засах үйл явцад зарим инерцийг өгөхийн тулд зорилгын функцийн гадаргуугийн дагуу хөдөлж байх үед огцом үсрэлтийг жигдрүүлэхийн тулд (1.17) өмнөх давталт дахь жингийн өөрчлөлтийн утгыг нэмж өгдөг.

инерцийн коэффициент хаана байна; одоогийн давталтын дугаар.

Ийнхүү буцаан тархах процедурыг ашиглан мэдрэлийн сүлжээг сургах бүрэн алгоритмыг дараах байдлаар бүтээв.

АЛХАМ 1. Боломжит зургуудын аль нэгийг сүлжээний оролтод хэрэглэж, мэдрэлийн сүлжээний хэвийн ажиллагааны горимд дохио нь оролтоос гаралт руу тархах үед сүүлчийн утгыг тооцоолно. Үүнийг сануулъя:

хэвийсэн утгыг тогтоодог тогтмол гаралтын төлөвтэй нейроныг харгалзан давхарга дахь мэдрэлийн эсийн тоо хаана байна; давхарга дахь нейроны оролт

сигмоид хаана байна,

оролтын зургийн вектор бүрэлдэхүүн хаана байна.

АЛХАМ 4. Мэдрэлийн сүлжээн дэх бүх жинг тохируулна уу:

АЛХАМ 5. Хэрэв сүлжээний алдаа их байвал 1-р алхам руу очно уу. Үгүй бол дуусга.

1-р алхам дахь сүлжээг ээлжлэн оруулна санамсаргүй дараалалСүлжээ нь заримыг нь цээжилж байхад заримыг нь мартахгүйн тулд сургалтын бүх зургийг толилуулж байна.

(1.17) илэрхийллээс үзэхэд гаралтын утга тэг болох үед сургалтын үр ашиг мэдэгдэхүйц буурдаг. Хоёртын оролтын векторуудын хувьд жингийн дундаж тал нь тохируулагдахгүй тул бүс нутаг боломжит утгуудНейроны гаралтыг хязгаарын дотор шилжүүлэх нь зүйтэй бөгөөд үүнийг логистикийн функцийг хялбархан өөрчлөх замаар олж авдаг. Жишээлбэл, экспоненциал бүхий сигмоид нь дараах хэлбэрт хувирдаг.

Мэдрэлийн сүлжээний хүчин чадал, тухайлбал, түүний оролтод үзүүлж буй дүрсний тоог таньж сурах боломжтой гэсэн асуултыг авч үзье. Хоёроос дээш давхаргатай сүлжээнүүдийн хувьд энэ асуулт нээлттэй хэвээр байна. Хоёр давхаргатай сүлжээний хувьд детерминистик сүлжээний хүчин чадлыг дараах байдлаар тооцно.

Энд тохируулж болох жингийн тоо, гаралтын давхарга дахь нейроны тоо.

Энэ илэрхийллийг зарим хязгаарлалтыг харгалзан үзсэн болно. Нэгдүгээрт, далд давхарга дахь оролт ба нейронуудын тоо нь тэгш бус байдлыг хангах ёстой Хоёрдугаарт, нейронуудын идэвхжих босго функц бүхий сүлжээнүүд болон жигд идэвхжүүлэх функц бүхий сүлжээнүүдийн багтаамжийн хувьд дээрх тооцоог хийсэн болно, жишээлбэл (1.23), ихэвчлэн их байдаг. Нэмж дурдахад, детерминистик гэдэг нэр томъёо нь үр дүнгийн хүчин чадлын тооцоо нь оролтоор төлөөлүүлж болох бүх оролтын загварт тохиромжтой гэсэн үг юм. Бодит байдал дээр оролтын хэв маягийн тархалт нь тодорхой хэмжээний тогтмол байх хандлагатай байдаг бөгөөд энэ нь мэдрэлийн сүлжээг ерөнхийд нь нэгтгэж, улмаар бодит хүчин чадлаа нэмэгдүүлэх боломжийг олгодог. Зургийн хуваарилалтаас хойш, онд ерөнхий тохиолдол, урьдчилж мэдэгдээгүй, бид зөвхөн бодит хүчин чадлын талаар урьдчилсан байдлаар ярьж болно, гэхдээ ихэвчлэн энэ нь детерминистик хүчин чадлаас хоёр дахин их байдаг.

Мэдрэлийн сүлжээний багтаамжийн асуудал нь зургийн эцсийн ангиллыг гүйцэтгэдэг сүлжээний гаралтын давхаргын шаардагдах чадлын тухай асуулттай нягт холбоотой юм. Жишээлбэл, оролтын зургийг хоёр ангид хуваахад нэг гаралтын нейрон хангалттай. Энэ тохиолдолд логик түвшин бүр тусдаа ангиудыг зааж өгнө. Босго идэвхжүүлэх функцтэй хоёр гаралтын нейрон дээр дөрвөн ангиллыг кодлох боломжтой. Ангилалын найдвартай байдлыг нэмэгдүүлэхийн тулд анги тус бүрт гаралтын давхаргад нэг нейрон, бүр илүү сайн хэд хэдэн нейрон хуваарилах замаар илүүдлийг нэвтрүүлэх нь зүйтэй бөгөөд тэдгээр нь тус бүр нь зураг өөрийн гэсэн зэрэгтэй ангилалд хамаарах эсэхийг тодорхойлоход сургагдсан байдаг. өөртөө итгэх итгэл, жишээлбэл: өндөр, дунд, бага. Ийм мэдрэлийн сүлжээ нь оролтын дүрсийг бүдэг (бүдгэр эсвэл огтлолцсон) багц болгон ангилах боломжийг олгодог. Энэ өмч нь ийм сүлжээг ойртуулдаг бодит нөхцөлбиологийн мэдрэлийн сүлжээний үйл ажиллагаа.

Энэ мэдрэлийн сүлжээ нь хэд хэдэн " гацаа" Нэгдүгээрт, үйл явцад томоохон эерэг буюу сөрөг утгууджин нь мэдрэлийн эсийн сигмоид дээрх үйл ажиллагааны цэгийг ханасан бүс рүү шилжүүлж болно. Логистик функцийн деривативын жижиг утгууд нь (1.15) ба (1.16)-д заасны дагуу суралцахаа зогсооход хүргэдэг бөгөөд энэ нь сүлжээг саатуулдаг. Хоёрдугаарт, градиент буурах аргыг ашиглах нь зорилгын функцийн дэлхийн хамгийн бага утгыг олох баталгаа болохгүй. Энэ нь сургалтын хурдыг сонгох асуудалтай нягт холбоотой. Жингийн өсөлт, улмаар экстремумыг олохын тулд суралцах хурд нь хязгааргүй бага байх ёстой, гэхдээ энэ тохиолдолд суралцах нь

хүлээн зөвшөөрөгдөөгүй удаан болж байна. Нөгөөтэйгүүр, жингийн хэт том тохируулга нь сургалтын үйл явцад байнгын тогтворгүй байдалд хүргэдэг. Иймд 1-ээс бага тоог (жишээ нь, 0.1) суралцах хурдны коэффициент 1] болгон сонгодог бөгөөд энэ нь сургалтын явцад аажмаар буурдаг. Нэмж дурдахад сүлжээг орон нутгийн минимумд санамсаргүйгээр унахаас урьдчилан сэргийлэхийн тулд заримдаа жингийн коэффициентүүдийн утгыг тогтворжуулсны дараа 7-г богино хугацаанд их хэмжээгээр нэмэгдүүлдэг. градиент уналт-аас шинэ цэг. Хэрэв энэ процедурыг хэд хэдэн удаа давтвал сүлжээг ижил төлөвт аваачих юм бол бид дэлхийн хамгийн бага хэмжээ олсон гэж үзэж болно.

Орон нутгийн минимум болон сүлжээний саажилтыг арилгах өөр нэг арга байдаг бөгөөд энэ нь стохастик мэдрэлийн сүлжээг ашиглах явдал юм.

Дээрх геометрийн тайлбарыг өгье.

Буцах тархалтын алгоритмд алдааны гадаргуугийн градиент векторыг тооцоолно. Энэ вектор нь одоогийн цэгээс гадаргуугийн дагуух хамгийн богино буух чиглэлийг заадаг бөгөөд дагуух хөдөлгөөн нь алдааны бууралтад хүргэдэг. Буурах үе шатуудын дараалал нь хамгийн багадаа нэг төрөлд хүргэдэг. Энд байгаа бэрхшээл бол алхамуудын уртыг сонгох явдал юм.

At том хэмжээтэйалхам, нэгдэх нь илүү хурдан байх болно, гэхдээ шийдэл дээр эсвэл тохиолдолд дээр үсрэх аюул байдаг нарийн төвөгтэй хэлбэралдаатай гадаргуу буруу чиглэлд явах, жишээлбэл, эгц налуу бүхий нарийн жалга дагуу хөдөлж, нэг талаас нөгөө рүү үсрэх. Харин ч хэзээ жижиг алхаммөн зөв чиглэлд явахад маш олон давталт шаардлагатай болно. Практикт алхамын хэмжээг налуугийн эгцтэй пропорциональ байхаар авдаг бөгөөд ингэснээр алгоритм нь хамгийн багадаа ойртож удааширдаг. Зөв сонголтсуралцах хурдаас хамаарна тодорхой даалгаварихэвчлэн туршилтаар хийдэг. Энэ тогтмол нь цаг хугацаанаас шалтгаалж болох бөгөөд алгоритм ахих тусам буурдаг.

Ерөнхийдөө энэ алгоритмыг импульс (эсвэл инерцийн) нэр томъёог оруулахаар өөрчилдөг. Энэ нь тогтмол чиглэлд ахиц дэвшил гаргахад хувь нэмэр оруулдаг тул хэрэв нэг чиглэлд хэд хэдэн алхам хийсэн бол алгоритм нь хурдыг нэмэгдүүлдэг бөгөөд энэ нь заримдаа орон нутгийн хамгийн бага хэмжээнээс зайлсхийх, мөн тэгш талбайг илүү хурдан туулах боломжийг олгодог.

Алгоритмын алхам бүрт сургалтын бүх жишээг сүлжээний оролт руу ээлжлэн өгч, сүлжээний бодит гаралтын утгыг шаардлагатай утгуудтай харьцуулж, алдааг тооцдог. Алдааны утга ба алдааны гадаргуугийн градиент

жинг тохируулахад ашигладаг бөгөөд үүний дараа бүх үйлдлүүд давтагдана. Сурах үйл явц нь тодорхой тооны эрин үе өнгөрсний дараа эсвэл алдаа нь тодорхой бага түвшинд хүрэхэд эсвэл алдаа буурахаа болих үед зогсдог.

Мэдрэлийн сүлжээг нэгтгэх, давтан сургах асуудлыг илүү нарийвчлан авч үзье. Ерөнхий ойлголт гэдэг нь мэдрэлийн сүлжээ нь сургалтын анхны багцад хамааралгүй өгөгдөл дээр үнэн зөв таамаглал гаргах чадвар юм. Хэт тохируулга гэдэг нь сургалтын алгоритм хэт удаан үргэлжлэх, сүлжээ нь даалгавар эсвэл байгаа өгөгдлийн хэмжээгээр хэтэрхий төвөгтэй байх үед тохиолддог хэт тохируулга юм.

Тодорхой хамаарлыг мэдрэлийн сүлжээгээр биш, харин олон гишүүнтийн тусламжтайгаар ойртуулах жишээн дээр нэгтгэх, давтан сургах асуудлуудыг үзүүлье, мөн үзэгдлийн мөн чанар нь туйлын ижил байх болно.

Олон гишүүнт график байж болно өөр хэлбэр, нэр томьёоны зэрэг, тоо их байх тусам энэ хэлбэр нь илүү төвөгтэй байж болно. Анхны өгөгдлийн хувьд та олон гишүүнт муруй (загвар) сонгож, одоо байгаа хамаарлын тайлбарыг авах боломжтой. Өгөгдөл нь чимээ шуугиантай байж болох тул хамгийн сайн загвар нь боломжтой бүх цэгүүдийг яг дамждаг гэж үзэх боломжгүй юм. Бага эрэмбийн олон гишүүнт нь одоо байгаа хамаарлыг илүү сайн тайлбарлаж чадна, гэхдээ энэ нь өгөгдлийг ойртуулах хангалттай уян хатан хэрэгсэл биш, харин олон гишүүнт нь өндөр захиалгахэтэрхий уян хатан байж болох ч бодит харилцаатай ямар ч холбоогүй, ээдрээтэй хэлбэрийг авахын зэрэгцээ өгөгдлийг яг дагаж мөрдөх болно.

Мэдрэлийн сүлжээнүүд ижил бэрхшээлтэй тулгардаг. -тэй сүлжээнүүд их тоожинг загварчилсан нарийн төвөгтэй функцуудтиймээс хэт их бэлтгэл хийх хандлагатай байдаг. Цөөн тооны жинтэй сүлжээнүүд нь одоо байгаа хамаарлыг загварчлахад хангалттай уян хатан биш байж болно. Жишээлбэл, далд давхаргагүй сүлжээ нь зөвхөн энгийн шугаман функцийг загварчилдаг.

Хэрхэн сонгох вэ зөв зэрэгсүлжээний нарийн төвөгтэй байдал? Бараг үргэлж илүү төвөгтэй сүлжээ нь бага хэмжээний алдаа гаргадаг боловч энэ нь илтгэхгүй байж магадгүй юм сайн чанарзагвар, гэхдээ сүлжээг дахин сургах талаар.

Шийдэл нь жишиг хөндлөн баталгаажуулалтыг ашиглах явдал юм. Энэ зорилгоор сургалтын түүврийн нэг хэсгийг нөөцлөдөг бөгөөд энэ нь буцаж тархах алгоритмыг ашиглан сүлжээг сургахад ашигладаггүй, харин алгоритмын явцад үр дүнг бие даан хянахад ашигладаг. Ажлын эхэнд сургалтанд сүлжээний алдаа гарсан ба

хяналтын багц ижил байх болно. Сүлжээг сургах тусам сургалтын алдаа, удирдлагын багц дээрх алдаа багасдаг. Хэрэв хяналтын алдаа буурахаа больсон эсвэл бүр нэмэгдэж эхэлбэл энэ нь сүлжээ нь өгөгдлийг хэт ойртуулж эхэлсэн (хэт сургасан) бөгөөд сургалтыг зогсоох шаардлагатай байгааг харуулж байна. Хэрэв ийм зүйл тохиолдвол сүлжээ нь энэ ажилд хэтэрхий хүчтэй тул далд элемент ба/эсвэл давхаргын тоог багасгах хэрэгтэй. Хэрэв хоёулаа алдаа (сургалт ба хөндлөнгийн баталгаажуулалт) хангалттай бага түвшинд хүрээгүй бол дахин сургах нь аяндаа хийгдээгүй бөгөөд сүлжээ нь эсрэгээрээ одоо байгаа хамаарлыг загварчлахад хангалттай хүч чадалгүй юм.

Тайлбарласан асуудлууд нь хэзээ гэдгийг хүргэж байна практик ажилМэдрэлийн сүлжээний тусламжтайгаар та олон тооны өөр өөр сүлжээг туршиж үзэх хэрэгтэй бөгөөд заримдаа тэдгээр нь тус бүрийг хэд хэдэн удаа сургаж, үр дүнг харьцуулах хэрэгтэй. Үр дүнгийн чанарын гол үзүүлэлт бол хяналтын алдаа юм. Үүний зэрэгцээ, системийн зарчмын дагуу хяналтын алдаа нь ойролцоогоор тэнцүү хоёр сүлжээг сонгоход илүү хялбарыг сонгох нь зүйтэй юм.

Давтан туршилт хийх хэрэгцээ нь хяналтын багц нь загварыг сонгоход гол үүрэг гүйцэтгэж, сургалтын үйл явцын нэг хэсэг болоход хүргэдэг. Энэ нь түүний үүргийг сулруулдаг бие даасан шалгуурзагварын чанар. At их тоотуршилтууд байдаг өндөр магадлалтайөгдөг сайн сүлжээг сонгох сайн үр дүнхяналтын багц дээр. Гэсэн хэдий ч эцсийн загварт зохих найдвартай байдлыг өгөхийн тулд тэд ихэвчлэн (сургалтын жишээнүүдийн хэмжээ үүнийг зөвшөөрдөг үед) дараахь зүйлийг хийдэг: туршилтын жишээнүүдийг нөөцлөх. Сургалт болон туршилтын жишээн дээр гарсан үр дүн нь сургалтын үйл явцын олдвор биш бодитой эсэхийг баталгаажуулахын тулд эцсийн загварыг энэ багцын өгөгдөл дээр туршиж үздэг. Мэдээжийн хэрэг, үүргээ сайн гүйцэтгэхийн тулд тестийн багцыг зөвхөн нэг удаа ашиглах ёстой: хэрэв сургалтын үйл явцыг тохируулахад дахин ашиглавал энэ нь үр дүнтэй хяналтын багц болж хувирна.

Сүлжээний сургалтын үйл явцыг хурдасгахын тулд дахин тархах алгоритмыг ашиглахтай холбоотой олон тооны өөрчлөлтийг санал болгосон. янз бүрийн функцуудалдаа, чиглэл, алхамын хэмжээг тодорхойлох журам.

1) Алдааны функцууд:

Сургалтын жишээнүүдийн бүхэл бүтэн алдааны функцууд;

Бүхэл ба бутархай зэрэглэлийн алдааны функцууд

2) Давталт бүрт алхамын хэмжээг тодорхойлох журам

Дихотоми;

Инерцийн харилцаа (дээрхийг үзнэ үү);

3) Алхамын чиглэлийг тодорхойлох журам.

Хоёрдахь эрэмбийн деривативын матрицыг ашиглах (Ньютоны арга);

Зааврыг хэд хэдэн үе шаттайгаар ашиглах (партан арга).



Танд нийтлэл таалагдсан уу? Найзуудтайгаа хуваалцаарай!