Convolutional Neural Network (CNN)-ийн сургалтын өгөгдлийг бэлтгэх нь загварын оновчтой гүйцэтгэл, үнэн зөв таамаглалыг хангах хэд хэдэн чухал алхмуудыг агуулдаг. Сургалтын өгөгдлийн чанар, тоо хэмжээ нь CNN-ийн хэв маягийг үр дүнтэй сурч, нэгтгэх чадварт ихээхэн нөлөөлдөг тул энэ үйл явц маш чухал юм. Энэ хариултанд бид CNN-д зориулсан сургалтын өгөгдлийг бэлтгэхэд хамаарах алхмуудыг судлах болно.
1. Мэдээлэл цуглуулах:
Сургалтын мэдээллийг бэлтгэх эхний алхам бол олон төрлийн, төлөөлөх мэдээллийн багц цуглуулах явдал юм. Үүнд CNN-ийн сургах анги, ангиллыг бүхэлд нь хамарсан зураг эсвэл бусад холбогдох өгөгдлийг цуглуулах орно. Аль нэг ангид хандах хандлагаас урьдчилан сэргийлэхийн тулд өгөгдлийн багц тэнцвэртэй байх нь чухал бөгөөд өөрөөр хэлбэл анги тус бүр ижил тооны түүвэртэй байх ёстой.
2. Өгөгдлийн урьдчилсан боловсруулалт:
Мэдээллийн багцыг цуглуулсны дараа түүнийг стандартчилах, хэвийн болгохын тулд өгөгдлийг урьдчилан боловсруулах нь чухал юм. Энэ алхам нь CNN-ийн сургалтын үйл явцад саад учруулж болох өгөгдлийн үл нийцэх байдал, өөрчлөлтийг арилгахад тусална. Урьдчилан боловсруулах нийтлэг аргууд нь зургийн хэмжээг тогтмол хэмжээтэй болгож өөрчлөх, зургийг нийтлэг өнгөний орон зайд хөрвүүлэх (жишээ нь, RGB), пикселийн утгыг тодорхой мужид (жишээ нь, [0, 1]) хэвийн болгох явдал юм.
3. Өгөгдлийг нэмэгдүүлэх:
Мэдээллийг нэмэгдүүлэх нь одоо байгаа өгөгдөлд янз бүрийн хувиргалт хийх замаар сургалтын өгөгдлийн багцын хэмжээг зохиомлоор нэмэгдүүлэхэд ашигладаг арга юм. Энэ алхам нь нэмэлт өөрчлөлтүүдийг нэвтрүүлэх, хэт тохируулгыг багасгахад тусална. Өгөгдлийг нэмэгдүүлэх аргуудын жишээнд санамсаргүй эргүүлэх, орчуулах, эргүүлэх, томруулах, тод, тодосгогчийг өөрчлөх зэрэг орно. Эдгээр хувиргалтыг хэрэгжүүлснээр бид анхны хувилбараас арай өөр сургалтын шинэ дээжийг үүсгэж, улмаар өгөгдлийн багцын олон талт байдлыг нэмэгдүүлэх боломжтой.
4. Өгөгдөл хуваах:
Сургалтанд хамрагдсан CNN-ийн гүйцэтгэлийг үнэлж, хэт ачаалал өгөхөөс урьдчилан сэргийлэхийн тулд өгөгдлийн багцыг сургалтын багц, баталгаажуулалтын багц, туршилтын багц гэсэн гурван дэд бүлэгт хуваах шаардлагатай. Сургалтын иж бүрдэл нь CNN-ийг сургахад, баталгаажуулалтын багц нь сургалтын явцад гиперпараметрийг тааруулж, загварын гүйцэтгэлийг хянахад, туршилтын багц нь сургагдсан CNN-ийн эцсийн гүйцэтгэлийг үнэлэхэд ашиглагддаг. Санал болгож буй хуваах харьцаа нь ихэвчлэн сургалтанд 70-80%, баталгаажуулалтад 10-15%, туршилтанд 10-15% байдаг.
5. Өгөгдөл ачаалах:
Өгөгдлийн багцыг хуваасны дараа өгөгдлийг санах ойд үр дүнтэй ачаалах нь чухал юм. Энэ алхам нь өгөгдлийг багцаар нь үр дүнтэй ачаалж, урьдчилан боловсруулах боломжтой өгөгдөл ачигч эсвэл генераторыг бий болгох явдал юм. Багц ачаалах нь зэрэгцээ боловсруулалт хийх боломжийг олгодог бөгөөд энэ нь сургалтын үйл явцыг хурдасгаж, санах ойн хэрэгцээг бууруулдаг. Нэмж дурдахад өгөгдөл ачигчид CNN сургалтын давталт бүрийн явцад олон төрлийн дээжээс суралцдаг болохыг баталгаажуулахын тулд өгөгдлийг холих зэрэг цаашдын урьдчилсан боловсруулалтын алхмуудыг хийж болно.
6. Өгөгдлийн тэнцвэржүүлэх (заавал биш):
Зарим тохиолдолд өгөгдлийн багц тэнцвэргүй байж болох бөгөөд энэ нь зарим ангиуд бусадтай харьцуулахад хамаагүй бага түүвэртэй байдаг гэсэн үг юм. Энэ нь өрөөсгөл таамаглалд хүргэж болзошгүй бөгөөд CNN олонхийн ангид илүү таатай хандах хандлагатай байдаг. Энэ асуудлыг шийдвэрлэхийн тулд өгөгдлийн багцыг тэнцвэржүүлэхийн тулд цөөнхийн ангиллыг хэт түүвэрлэх эсвэл олонхийн ангийг дутуу түүвэрлэх гэх мэт аргуудыг ашиглаж болно. Өөр нэг арга бол сургалтын явцад ангийн жинг ашиглах, бага төлөөлөлтэй ангиудад илүү ач холбогдол өгөх явдал юм.
7. Өгөгдлийг хэвийн болгох:
Нормчилал нь оролтын өгөгдөлд дундаж болон нэгжийн зөрүүг тэглэх чухал алхам юм. Энэ үйл явц нь сургалтын үйл явцыг тогтворжуулах, CNN орон нутгийн минимумд гацахаас урьдчилан сэргийлэхэд тусалдаг. Энгийн хэвийн болгох аргад дунджийг хасч, өгөгдлийн багцын стандарт хазайлтаар хуваах эсвэл өгөгдлийг тодорхой мужид (жишээ нь, [-1, 1]) хуваах зэрэг орно. Оролцоо нь ижил мужид байгаа эсэхийг баталгаажуулахын тулд сургалт болон туршилтын өгөгдөлд хэвийн болгох ажлыг тогтмол хийх ёстой.
CNN-д зориулсан сургалтын өгөгдлийг бэлтгэх нь өгөгдөл цуглуулах, урьдчилан боловсруулах, нэмэгдүүлэх, хуваах, ачаалах, мөн тэнцвэржүүлэх, хэвийн болгох зэрэг орно. Алхам бүр нь CNN мэдээллээс үр дүнтэй суралцаж, үнэн зөв таамаглал гаргахад чухал үүрэг гүйцэтгэдэг. Эдгээр алхмуудыг дагаснаар бид CNN-ийг сургах хүчирхэг сургалтын шугамыг бий болгож чадна.
Сүүлийн үеийн бусад асуулт, хариулт Конволюцийн мэдрэлийн сүлжээ (CNN):
- Хамгийн том эргэлтийн мэдрэлийн сүлжээ юу вэ?
- Гаралтын сувгууд юу вэ?
- Оролтын сувгийн тоо (nn.Conv1d-ийн 2-р параметр) ямар утгатай вэ?
- Сургалтын үеэр CNN-ийн гүйцэтгэлийг сайжруулах нийтлэг аргууд юу вэ?
- CNN-ийг сургахад багцын хэмжээ ямар ач холбогдолтой вэ? Энэ нь сургалтын үйл явцад хэрхэн нөлөөлдөг вэ?
- Өгөгдлийг сургалт, баталгаажуулалтын багц болгон хуваах нь яагаад чухал вэ? Баталгаажуулахад ихэвчлэн хэр их өгөгдөл хуваарилагддаг вэ?
- Конволюцийн мэдрэлийн сүлжээг (CNN) сургахад оновчтой болгох, алдагдлын функцийн зорилго юу вэ?
- CNN-ийг сургах явцад оролтын өгөгдлийн хэлбэрийг янз бүрийн үе шатанд хянах нь яагаад чухал вэ?
- Зурагнаас бусад өгөгдөлд эвхэгддэг давхаргыг ашиглаж болох уу? Жишээ үзүүлнэ үү.
- CNN-ийн шугаман давхаргад тохирох хэмжээг хэрхэн тодорхойлох вэ?
Convolution neural network (CNN) дээрх бусад асуулт, хариултыг харах