Хувиргасан мэдрэлийн сүлжээг (CNN) сургахдаа оновчтой болгох, алдагдлын функцийн зорилго нь загварын үнэн зөв, үр дүнтэй гүйцэтгэлд хүрэхэд маш чухал юм. Гүнзгий сургалтын салбарт CNN нь дүрс ангилах, объект илрүүлэх болон компьютерийн харааны бусад ажлуудад хүчирхэг хэрэгсэл болж гарч ирсэн. Оновчлогч ба алдагдлын функц нь сургалтын үйл явцад тодорхой үүрэг гүйцэтгэдэг бөгөөд энэ нь сүлжээнд суралцах, үнэн зөв таамаглал гаргах боломжийг олгодог.
Оптимизатор нь сургалтын үе шатанд CNN-ийн параметрүүдийг тохируулах үүрэгтэй. Энэ нь алдагдлын функцийн тооцоолсон градиент дээр тулгуурлан сүлжээний жинг хэрхэн шинэчлэхийг тодорхойлдог. Оновчлогчийн гол зорилго нь таамагласан гаралт болон газрын үнэний шошго хоорондын зөрүүг хэмждэг алдагдлыг багасгах явдал юм. Жингээ дахин шинэчилснээр оновчтой тохируулагч нь оновчтой багц параметрүүдийг олох замаар сүлжээг илүү сайн гүйцэтгэлд чиглүүлдэг.
Төрөл бүрийн оптимизаторууд байдаг бөгөөд тус бүр өөрийн гэсэн давуу болон сул талуудтай. Түгээмэл хэрэглэгддэг нэг оновчтой тохируулагч нь Stochastic Gradient Descent (SGD) бөгөөд алдагдлын функцийн сөрөг градиентийн чиглэлд жинг шинэчилдэг. SGD жинг шинэчлэх үед алхамын хэмжээг хянахын тулд суралцах хурдыг ашигладаг. Adam, RMSprop, Adagrad зэрэг бусад алдартай оновчлогчдод нэгдэх хурд болон янз бүрийн төрлийн өгөгдөлтэй ажиллах чадварыг сайжруулах нэмэлт техникүүдийг багтаасан.
Оновчлогчийн сонголт нь тодорхой асуудал болон өгөгдлийн багцаас хамаарна. Жишээлбэл, Adam optimizer нь том өгөгдлийн багц дээр бат бөх, үр ашигтай байдгаараа алдартай бол SGD нь эрч хүч нь орон нутгийн минимумыг даван туулахад тусалдаг. Өгөгдсөн даалгаварт хамгийн сайн үр дүнд хүрэхийн тулд өөр өөр оновчтой тохируулагчтай туршилт хийх нь чухал юм.
Алдагдлын функц руу шилжвэл энэ нь CNN хэр сайн ажиллаж байгааг хэмждэг. Энэ нь урьдчилан таамагласан гаралт ба жинхэнэ шошго хоёрын хоорондох ялгааг тоон үзүүлэлтээр тодорхойлж, сүлжээний параметрүүдийг тохируулахын тулд оновчтой болгоход хариу өгөх дохио өгдөг. Алдагдлын функц нь буруу таамаглалыг шийтгэж, сүлжээг хүссэн үр дүндээ нэгтгэхэд түлхэц өгөх замаар сургалтын үйл явцыг удирддаг.
Алдагдлын функцийг сонгох нь тухайн ажлын онцлогоос хамаарна. Хоёртын ангиллын даалгаврын хувьд хоёртын кросс энтропи алдагдлын функцийг ихэвчлэн ашигладаг. Энэ нь урьдчилан таамагласан магадлал болон жинхэнэ шошго хоорондын зөрүүг тооцоолдог. Олон ангиллын ангиллын даалгаврын хувьд ангиллын хөндлөн энтропи алдагдлын функцийг ихэвчлэн ашигладаг. Энэ нь урьдчилан таамагласан ангийн магадлал болон үндсэн үнэний шошго хоорондын ялгааг хэмждэг.
Эдгээр стандарт алдагдлын функцүүдээс гадна тодорхой ажлуудад зориулагдсан алдагдлын тусгай функцууд байдаг. Жишээлбэл, дундаж квадрат алдаа (MSE) алдагдлын функцийг регрессийн даалгаварт ихэвчлэн ашигладаг бөгөөд гол зорилго нь тасралтгүй утгыг таамаглах явдал юм. IoU (Intersection over Union) алдагдлын функцийг урьдчилан таамагласан болон газрын үнэнийг хязгаарлах хайрцаг хоорондын давхцлыг хэмжих объект илрүүлэх зэрэг ажлуудад ашигладаг.
Оновчлогч ба алдагдлын функцийг сонгох нь CNN-ийн гүйцэтгэлд ихээхэн нөлөөлдөг гэдгийг тэмдэглэх нь зүйтэй. Сайн оновчтой хослол нь илүү хурдан нэгдэх, илүү сайн ерөнхий ойлголт өгөх, нарийвчлалыг сайжруулахад хүргэдэг. Гэсэн хэдий ч оновчтой хослолыг сонгох нь ихэвчлэн туршилт, алдааны процесс бөгөөд хамгийн сайн үр дүнд хүрэхийн тулд туршилт, нарийн тохируулга шаарддаг.
Оновчлогч ба алдагдлын функц нь CNN-ийг сургах салшгүй бүрэлдэхүүн хэсэг юм. Оновчлогч нь алдагдлыг багасгахын тулд сүлжээний параметрүүдийг тохируулдаг бол алдагдлын функц нь таамагласан болон үнэн шошго хоорондын зөрүүг хэмждэг. Тохиромжтой оновчтой болгох, алдагдлын функцийг сонгосноор судлаачид болон дадлагажигчид CNN загваруудын гүйцэтгэл, нарийвчлалыг сайжруулж чадна.
Сүүлийн үеийн бусад асуулт, хариулт Конволюцийн мэдрэлийн сүлжээ (CNN):
- Хамгийн том эргэлтийн мэдрэлийн сүлжээ юу вэ?
- Гаралтын сувгууд юу вэ?
- Оролтын сувгийн тоо (nn.Conv1d-ийн 2-р параметр) ямар утгатай вэ?
- Сургалтын үеэр CNN-ийн гүйцэтгэлийг сайжруулах нийтлэг аргууд юу вэ?
- CNN-ийг сургахад багцын хэмжээ ямар ач холбогдолтой вэ? Энэ нь сургалтын үйл явцад хэрхэн нөлөөлдөг вэ?
- Өгөгдлийг сургалт, баталгаажуулалтын багц болгон хуваах нь яагаад чухал вэ? Баталгаажуулахад ихэвчлэн хэр их өгөгдөл хуваарилагддаг вэ?
- Бид CNN-д зориулсан сургалтын мэдээллийг хэрхэн бэлтгэх вэ? Холбогдох алхмуудыг тайлбарлана уу.
- CNN-ийг сургах явцад оролтын өгөгдлийн хэлбэрийг янз бүрийн үе шатанд хянах нь яагаад чухал вэ?
- Зурагнаас бусад өгөгдөлд эвхэгддэг давхаргыг ашиглаж болох уу? Жишээ үзүүлнэ үү.
- CNN-ийн шугаман давхаргад тохирох хэмжээг хэрхэн тодорхойлох вэ?
Convolution neural network (CNN) дээрх бусад асуулт, хариултыг харах