stub CNN (Convolutional Neural Networks) гэж юу вэ? - Нэгдсэн.AI
бидэнтэй хамт холбоно
AI мастер анги:

AI 101

CNN (Convolutional Neural Networks) гэж юу вэ?

mm
шинэчлэгдсэн on

Магадгүй та Facebook эсвэл Instagram хэрхэн зураг дээрх царайг автоматаар таних боломжтой вэ, эсвэл Google танд өөрийнхөө зургийг байршуулснаар ижил төстэй зургийг вэбээс хайх боломжийг хэрхэн олгодог талаар гайхаж байсан байх. Эдгээр функцууд нь компьютерийн харааны жишээ бөгөөд тэдгээр нь дээр тулгуурладаг Convolutional Neural Networks (CNNs). Гэсэн хэдий ч эвдрэлийн мэдрэлийн сүлжээ гэж яг юу вэ? CNN-ийн архитектурт гүн гүнзгий нэвтэрч, тэд хэрхэн ажилладагийг ойлгоцгооё.

Мэдрэлийн сүлжээ гэж юу вэ?

Хувиралт мэдрэлийн сүлжээний талаар ярихаасаа өмнө ердийн мэдрэлийн сүлжээг тодорхойлоход хэсэг хугацаа зарцуулцгаая. Байгаа өөр нэг нийтлэл Боломжит мэдрэлийн сүлжээнүүдийн талаар бид энд нэг их гүнзгийрүүлэхгүй. Гэсэн хэдий ч тэдгээрийг товчхон тайлбарлавал эдгээр нь хүний ​​тархинаас санаа авсан тооцооллын загварууд юм. Мэдрэлийн сүлжээ нь оролтын функцууд бие биетэйгээ болон объектын ангитай хэрхэн холбоотой талаарх таамаглал болох "жин"-ийг тохируулах замаар өгөгдлийг хүлээн авч, өгөгдлийг удирдах замаар ажилладаг. Сүлжээг сургах тусам жингийн утгыг тохируулж, тэдгээр нь онцлог шинж чанаруудын хоорондын хамаарлыг үнэн зөв харуулсан жин дээр нийлнэ гэж найдаж байна.

Урагш дамжуулах мэдрэлийн сүлжээ ингэж ажилладаг бөгөөд CNN нь урагш чиглүүлдэг мэдрэлийн сүлжээ болон эргэлтийн давхарга гэсэн хоёр хэсгээс бүрдэнэ.

Convolution Neural Network (CNN) гэж юу вэ?

Эвлэлийн мэдрэлийн сүлжээнд ямар "хувиралтууд" тохиолддог вэ? Convolution гэдэг нь жингийн багцыг үүсгэдэг математикийн үйлдэл бөгөөд үндсэндээ зургийн хэсгүүдийн дүрслэлийг бий болгодог. Энэ жингийн багцыг гэж нэрлэдэг цөм эсвэл шүүлтүүр. Үүсгэсэн шүүлтүүр нь бүхэл оруулсан зургаас бага хэмжээтэй бөгөөд зургийн зөвхөн нэг хэсгийг хамарна. Шүүлтүүр дэх утгууд нь зураг дээрх утгуудаар үрждэг. Дараа нь зургийн шинэ хэсгийг дүрслэхийн тулд шүүлтүүрийг шилжүүлж, зургийг бүхэлд нь бүрхэх хүртэл процесс давтагдана.

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

Оролтын дүрсийг бүхэлд нь тойруулан хөдөлгөж буй шүүлтүүрүүдийн гаралт нь бүхэл зургийг төлөөлөх хоёр хэмжээст массив юм. Энэ массивыг a гэж нэрлэдэг "Онцлог газрын зураг".

Хувиралт яагаад зайлшгүй шаардлагатай вэ?

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

Шүүлтүүр ба сувгууд

Фото: cecebur Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN нь оролтын зургуудаас хэв маягийг сурахын тулд зөвхөн нэг шүүлтүүр ашигладаггүй. Олон шүүлтүүр ашигладаг, учир нь өөр өөр шүүлтүүрээр үүсгэсэн янз бүрийн массив нь оролтын дүрсийг илүү төвөгтэй, баялаг дүрслэлд хүргэдэг. CNN-ийн шүүлтүүрүүдийн нийтлэг тоо нь 32, 64, 128, 512. Олон шүүлтүүр байх тусам CNN оролтын өгөгдлийг шалгаж, түүнээс суралцах боломж нэмэгддэг.

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

Convolutional Neural Network (CNN) архитектур

-ийн бүрэн архитектурыг харцгаая эргэлтийн мэдрэлийн сүлжээ. Зургийн өгөгдлийг тоон массив болгон хувиргах шаардлагатай байдаг тул эвдрэлийн давхарга нь эвдэрсэн сүлжээ бүрийн эхэнд байдаг. Гэсэн хэдий ч эвдрэлийн давхаргууд нь бусад эвдэрсэн давхаргын дараа гарч ирж болох бөгөөд энэ нь эдгээр давхаргууд нь бие биенийхээ дээр давхарлаж болно гэсэн үг юм. Олон эргэлтийн давхаргатай байх нь нэг давхаргын гаралт нь цаашдын эргэлтэнд орж, холбогдох хэв маягаар бүлэглэгдэх боломжтой гэсэн үг юм. Практикт энэ нь зургийн өгөгдөл нь эвдэрсэн давхаргуудаар дамжих тусам сүлжээ нь зургийн илүү төвөгтэй шинж чанарыг "таниж" эхэлдэг гэсэн үг юм.

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

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

Мэргэшсэн блоггер, программист Машины сургалт болон Гүн сурах сэдвүүд. Даниел бусад хүмүүст хиймэл оюун ухааны хүчийг нийгмийн сайн сайхны төлөө ашиглахад тусална гэж найдаж байна.