Агуулга Танилцуулга Харанхуй мэдлэг нэрэх журам MNIST дээр туршилт MNIST дээр нэмэлт туршилт 1. Танилцуулга Энэ нийтлэлд би хиймэл оюун ухаан дахь мэдлэг нэрэх үйл явц буюу энэ нь ерөнхийдөө хэрхэн ажилладаг, түүний ач холбогдол, түүнийг ашиглах шалтгааныг судлах болно. Бид хэрхэн илүү том загвар эсвэл загваруудаас (өгөгдлөөс бүтцийг гаргаж авахын тулд маш том өгөгдлийн багц дээр сургагдсан) мэдлэгийг нэг жижиг загварт гүйцэтгэлд нэг их уналтгүйгээр шахаж, шилжүүлэх вэ? Гэхдээ бид яагаад үүнийг хийхийг хүсч байна вэ? Том загвар эсвэл ансамбль загвар нь туршилтын өгөгдөл дээр аль хэдийн гайхалтай үр дүнг өгч байхад бидэнд яагаад жижиг загвар хэрэгтэй байна вэ? Сургалтын үеэр бид ихэвчлэн том загваруудыг сургадаг, учир нь гол зорилго нь маш том өгөгдлийн багцаас бүтцийг гаргаж авах явдал юм. Мөн бид эдгээр том загваруудыг бүх төрлийн датагаар тэжээхийн тулд сургууль завсардалт, галт тэрэгний цагт өгөгдлийг нэмэгдүүлэх зэрэг олон зүйлийг ашиглаж болох юм. Гэхдээ таамаглах үед бидний зорилго огт өөр байна. Бид аль болох хурдан үр дүнд хүрэхийг хүсч байна. Тиймээс илүү том загваруудыг ашиглах нь маш үнэтэй бөгөөд олон тооны хэрэглэгчид ашиглахад саад болно. Тэгэхээр одоо бид энэ том загвараас мэдлэгийг хэрхэн шахаж хялбархан ашиглаж болох жижиг загвар болгон хувиргах вэ гэсэн асуулт гарч ирж байна. Google-ээс Жеффри Хинтон, Ориол Винялс, Жефф Дин нар өөрсдийн дамжуулан энэхүү мэдлэгийг жижиг загварт шилжүүлэхийн тулд гэх өөр төрлийн сургалтыг зохион бүтээжээ. Энэ нь тэдний хэрэгжүүлэхэд ашигладаг нүүрийг тэврэх аргатай ижил арга юм. цаасаар нэрэх Distill BERT-ийг Хэрэв бид энэ жижиг загварыг том загвартай ижил аргаар нь сургаж чадвал ийм байдлаар бэлтгэгдсэн жижиг загвар нь ижил өгөгдөл дээр сургагдсан жижиг загвараас хамаагүй дээр байх болно. Энэ бол нэрэх зарчмуудын нэг юм ерөнхийд үндсэн 2. Харанхуй мэдлэг Ихэвчлэн олон тооны ангиудыг ялгаж сурдаг загвар болох Machine learning-д сургалтын гол зорилго нь зөв хариултын дундаж бүртгэлийн магадлалыг нэмэгдүүлэх явдал юм. Жишээ нь, MNIST-ийн өгөгдлийн багцын жишээг авч үзье, үүнд зорилго нь зургийг 1 эсвэл 2 эсвэл ... 9 гэж ангилах явдал юм. Тиймээс хэрэв бодит зураг нь 2 бол аливаа загварын зорилго нь хамгийн их байлгах явдал юм (энэ нь тухайн зураг 2 байх магадлалтай гэж уншиж болно). Гэхдээ эдгээр магадлал нь маш бага, зарим нь бусдаасаа хамаагүй том боловч загвар нь бүх буруу хариултуудад магадлалыг өгдөг. Хамгийн гол нь эдгээр магадлал бага боловч буруу хариултын харьцангуй магадлал нь загварыг хэрхэн ерөнхийлж болох талаар бидэнд их зүйлийг хэлж өгдөг. Үүнийг ойлгохын тулд доорх жишээг харцгаая. P (түүний 2/зураг)-ийг Дээрх зурагт 2-ын энэ хувилбар нь 3 байх 10-6, 10-9 нь 7 байх магадлалыг өгсөн бол өөр хувилбарт энэ нь эсрэгээрээ байж болно. Энэ нь өгөгдлийн баялаг ижил төстэй бүтцийг тодорхойлсон үнэ цэнэтэй мэдээлэл юм (өөрөөр хэлбэл аль 2 нь 3, аль нь 7 шиг харагдахыг хэлдэг) боловч магадлал нь тэгтэй маш ойрхон байдаг тул дамжуулах үе шатанд хөндлөн энтропи зардлын функцэд маш бага нөлөө үзүүлдэг. Гэхдээ нэрэх процедур руу шилжихээсээ өмнө загвар нь гаралтын магадлалыг хэрхэн бий болгосон талаар цаг гаргацгаая. Эндээс softmax идэвхжүүлэлт гарч ирдэг. Загвар боловсруулах сүүлийн алхам бол softmax бөгөөд энэ бүрэлдэхүүн хэсэг нь гаралтын магадлалыг өгдөг. Softmax-ийн оролтыг логит гэж нэрлэдэг бөгөөд бид NN-ийн эцсийн давхаргыг далд нэгжийн тоо = ангилахыг хүсч буй ангийн тоо байхаар зохион бүтээдэг. Софтмаксыг тооцоолох томъёог дараах байдлаар өгөв Дээрх тэгшитгэл нь тус бүрийн магадлалыг өгөх ба нийт магадлалын нийлбэр 1-тэй тэнцүү байна. Сургалтын хугацаанд сургалтын аль ч жишээний алдагдлыг эдгээр softmax магадлалыг хатуу зорилтууд(шошго)-той харьцуулж, буцах тархалтын коэффициентийг ашиглан алдагдал хамгийн бага болтол шинэчилнэ. i i Дээр дурдсанчлан энэ softmax нь жинхэнэ шошго гарах магадлал өндөр, буруу шошго гарах магадлал бага байна. Буруу хариултын магадлал бага ч гэсэн тэдний дотор маш их мэдээлэл нуугдаж байгаа нь загварыг ерөнхийд нь дүгнэхэд тусалдаг болохыг бид харж байна. Үүнийг бид гэж нэрлэдэг харанхуй мэдлэг 3. Нэрэх журам Баримт бичигт дурдсанаар том загварын ерөнхий чадавхийг жижиг загварт шилжүүлэх хамгийн сайн арга бол нүсэр загвараар бий болсон ангийн магадлалыг жижиг загварыг сургах болгон ашиглах явдал юм. зөөлөн зорилт Тиймээс үйл явц дараах байдалтай байна. Том загварыг сургахад ашиглаж байсан анхны сургалтын багцыг аваад дараа нь сургалтын өгөгдлийг том загвараар дамжуулж, өөр өөр ангиудад softmax магадлалыг аваарай. Дээр дурдсанчлан, жинхэнэ шошго нь өндөр магадлалтай, буруу шошго нь бага магадлалтай. Гэхдээ бид эдгээр бага магадлалд маш их мэдээлэл нуугдаж байгааг олж харсан. Эдгээр магадлалын ач холбогдлыг нэмэгдүүлэхийн тулд нийтлэлийн зохиогчид Температур (T) хэмээх хувьсагчийг ашиглаж, softmax-аар дамжихын өмнө бүх логитыг хуваав. Энэ нь ангиудад илүү зөөлөн магадлалын хуваарилалтыг бий болгодог. Бид доороос харж болно Температур(T)-тай зөөлөн макс хэрэглэх үр дүнг бид Soft зорилтот гэж нэрлэдэг. Энэ процессыг зохиогчид гэж нэрлэдэг. нэрэх Температурыг нэмэгдүүлэх замаар усан дахь хольцыг зайлуулахтай ижил төстэй байдал Том загвараас сурсан функцийн талаархи ихэнх мэдээлэл нь зөөлөн зорилтот дахь маш бага магадлалын харьцаанд оршдог. Зарим нэр томъёо: - softmax үед T температурыг хэрэглэсний дараа том загвараас гарна Зөөлөн зорилтууд - softmax үед T температурыг хэрэглэсний дараа жижиг загвараас гарна Зөөлөн таамаглал - температур T = 1 (ердийн softmax) үед жижиг загвараас гарна Хатуу таамаглал - сургалтын багцаас бодит зорилтууд Жинхэнэ зорилтууд Сургалтын бүх үйл явцын схемийг доор харуулав Тиймээс жижиг загварт зориулсан сургалтын үйл явц нь 2 алдагдалтай байдаг. Эхний алдагдлын функц нь зөөлөн таамаглал болон зөөлөн зорилтуудыг хоёуланг нь авдаг бөгөөд хөндлөн энтропи алдагдлын функц юм. Зөөлөн зорилтод нийцүүлэхийг оролдох замаар ерөнхийлөх чадварыг том загвараас жижиг загвар руу шилжүүлэх арга юм. Энэ алдагдлын функцийн хувьд softmax хоёулаа 'T' температурыг ашигладаг. Зохиогчид жинхэнэ зорилтод нийцүүлэхийн тулд жижиг загварыг ашиглах нь тусалдаг болохыг олж мэдсэн. Үүнийг хоёр дахь зардлын функцэд тусгасан болно. Эцсийн өртөг нь альфа ба бета гипер-параметр бүхий эдгээр хоёр зардлын функцийн жигнэсэн дундаж юм. 4. MNIST дээр туршилт хийх Зохиогчид энэ аргыг туршихын тулд MNIST мэдээллийн багцыг ашигласан. Үүний тулд тэд зөвхөн дунд давхаргын далд нэгжийн тоогоор ялгаатай хоёр архитектурыг ашигласан. Зохиогчид хоёр тохиолдолд далд давхаргын мэдрэлийн сүлжээг ашигласан 784 -> 800 -> 800 -> 10 (784 нь зургийн задалсан хэмжээс, 800 нь RELU идэвхжүүлсэн далд нэгжийн тоо, 10 нь бидний таамаглаж буй ангиллын тоо) гэж үзэж болох жижиг загвар юм. Энэ загвар нь ямар ч зохицуулалтгүйгээр 146 туршилтын алдаа өгсөн. Илүү том загварыг 784 -> 1200 -> 1200 -> 10 (энд 784 нь зургийн задалсан хэмжээсүүд, 1200 нь RELU идэвхжүүлсэн далд нэгжийн тоо, 10 нь бидний таамаглаж буй ангийн тоо юм). Энэ загварыг MNIST дээр сургууль завсардалт, жингийн хязгаарлалт, чичиргээн оруулах дүрс ашиглан сургасан бөгөөд энэ сүлжээ нь 67 туршилтын алдаа гаргасан. Том загварт гарсан энэ сайжруулалтыг жижиг загварт шилжүүлж болох уу? Зохиогчид одоо том торноос гаргаж авсан зөөлөн бай болон бодит байг хоёуланг нь таслахгүй, дүрсийг чичиргээгүй ашигласан, өөрөөр хэлбэл жижиг торыг зөвхөн 20 хэмийн температурт том торноос гаргаж авсан зөөлөн байг тааруулах нэмэлт даалгаврыг нэмснээр жижиг торыг жигдрүүлсэн. 784 -> 800 -> 800 -> 10 ашиглан 74 туршилтын алдаа Энэ нь зөөлөн зорилтууд нь орчуулсан сургалтын өгөгдлөөс олж авсан мэдлэгийг хэрхэн нэгтгэх тухай мэдлэгийг багтаасан жижиг загварт их хэмжээний мэдлэгийг шилжүүлж болохыг харуулж байна. Өөрөөр хэлбэл, бид жижиг сүлжээнд орцыг хувиргахгүй ч гэсэн орцыг жижиг сүлжээнд шилжүүлснээр бидний олж авсан ашиг. Төрөл бүрийн хувиргалтаар оролтыг хувиргах нь загварыг ерөнхийд нь илүү сайн болгодог нь мэдэгдэж байгаа зүйл бөгөөд бидний тохиолдолд хэрхэн тухай мэдээлэл Харанхуй мэдлэгт гарч ирдэг бөгөөд энэ нь зөөлөн зорилтуудад нуугдаж байдаг. Эдгээр мэдээллийн аль нь ч True targets-д байхгүй. Тиймээс зөөлөн зорилтуудын мэдээллийг ашигласнаар манай жижиг сүлжээ илүү сайн ажиллаж байна. ерөнхийлөн дүгнэх Зөөлөн зорилтуудыг ашигласан том сүлжээ нь ижил төстэй байдлын хэмжүүрийг сурч, "юутай адил вэ" гэдгийг олж мэдсэн бөгөөд энэхүү мэдлэгийг дамжуулснаар бид жижиг сүлжээнд "юутай төстэй болохыг" хэлж байна. MNIST дээр хийсэн дээрх бүх туршилтыг доор тоймлон харуулав 5. MNIST дээр хийсэн нэмэлт туршилт Нэмж дурдахад зохиолчид нэрэх аргыг ашиглан жижиг загварыг сургахдаа 3-ын цифрийн жишээг орхихыг оролдсон. Тиймээс жижиг загварын үүднээс авч үзвэл 3 бол хэзээ ч харж байгаагүй домогт цифр юм. Жижиг загвар нь сургалтын явцад 3-ыг хэзээ ч харж байгаагүй тул туршилтын багцад 3-тай тулгарах үед маш их алдаа гарна гэж бид найдаж байна. Гэсэн хэдий ч нэрмэл загвар нь зөвхөн 206 туршилтын алдаа гаргасан бөгөөд үүний 133 нь туршилтын багцад 1010 гурвын алдаатай байна. Энэ нь нэрэх явцад том загварын ерөнхий чадвар жижиг загварт шилжсэнийг тодорхой харуулж байгаа бөгөөд энэ нь жижиг загвар нь ихэнх тохиолдолд 3-ыг зөв таамаглахад хүргэдэг. Түүх нь ёс суртахууны хувьд ийм юм. Оруулсан зургийг хувиргах нь ерөнхий ойлголтыг ихээхэн сайжруулдаг. Зорилтотуудыг өөрчлөх нь мөн адил том нөлөө үзүүлдэг бөгөөд хэрэв бид хаа нэгтээгээс зөөлөн зорилтуудыг авч чадвал жижиг загвартай ижил гүйцэтгэлийг авах боломжтой тул хамаагүй хямд болно. Лавлагаа: Хинтон, Жеффри, Ориол Винялс, Жефф Дин нар. "Мэдрэлийн сүлжээн дэх мэдлэгийг нэрлэх." Мэдлэгийн нэрэлт нь intelllabs.