Гүн мэдрэлийн сүлжээ (DNN) нь өгөгдлийн нарийн төвөгтэй хэв маягийг загварчлах боломжийг олгодог олон давхар зангилаа буюу нейроноор тодорхойлогддог хиймэл мэдрэлийн сүлжээ (ANN) юм. Энэ нь хиймэл оюун ухаан, машин сургалтын салбарт, ялангуяа дүрсийг таних, байгалийн хэлийг боловсруулах гэх мэт даалгавруудыг гүйцэтгэх боловсронгуй загваруудыг боловсруулахад суурь ойлголт юм. Мэдрэлийн гүн сүлжээг ойлгох нь TensorBoard зэрэг хэрэгслийг загвар дүрслэлд ашиглахад чухал ач холбогдолтой бөгөөд энэ нь эдгээр загваруудын дотоод үйл ажиллагааны талаархи ойлголтыг өгдөг.
Гүн мэдрэлийн сүлжээний архитектур
Гүн мэдрэлийн сүлжээний архитектур нь оролтын давхарга, олон далд давхарга, гаралтын давхаргаас бүрдэнэ. Давхарга бүр нь зангилаа буюу мэдрэлийн эсүүдээс тогтдог бөгөөд тэдгээр нь жингээр хоорондоо холбогддог. Сүлжээний гүн нь түүнд агуулагдах далд давхаргын тоог илэрхийлдэг. Оролтын болон гаралтын давхаргын хоорондох давхаргууд нь оролтын өгөгдлийг гаралтын давхарга нь таамаглал эсвэл ангилал гаргахад ашиглаж болох формат болгон хувиргах үүрэгтэй.
- Оролтын давхарга: Энэ нь сүлжээний эхний давхарга бөгөөд өгөгдөл нь загварт ордог. Энэ давхарга дахь мэдрэлийн эсийн тоо нь оролтын өгөгдлийн шинж чанаруудын тоотой тохирч байна.
- Нуугдсан давхаргууд: Эдгээр давхарга нь оролтын өгөгдөл дээр тооцооллыг гүйцэтгэдэг. Далд давхарга дахь нейрон бүр өмнөх давхаргын мэдрэлийн эсүүдээс оролтыг хүлээн авч, тэдгээрийг боловсруулж, гаралтыг дараагийн давхаргын нейронууд руу дамжуулдаг. Мэдрэлийн сүлжээний сурч чадах хэв маягийн нарийн төвөгтэй байдал нь далд давхаргын тоо нэмэгдэх тусам нэмэгддэг.
- Гаралтын давхарга: Энэ нь тооцооллын үр дүнг гаргадаг сүлжээний эцсийн давхарга юм. Энэ давхарга дахь мэдрэлийн эсийн тоо нь хүссэн гаралтын тоотой тохирч байна. Жишээлбэл, хоёртын ангиллын даалгаварт магадлалыг гаргахын тулд сигмоид идэвхжүүлэх функцтэй ганц нейрон байж болно.
Идэвхжүүлэх функцууд
Идэвхжүүлэх функцууд нь сүлжээнд шугаман бус байдлыг нэвтрүүлж, нарийн төвөгтэй хэв маягийг сурах боломжийг олгодог. Идэвхжүүлэх нийтлэг функцууд нь:
- Сигмоид функц: Оролтын утгыг 0-ээс 1 хүртэлх мужид буулгаж, хоёртын ангиллын даалгаварт тохиромжтой. Гэсэн хэдий ч энэ нь алга болох градиентийн асуудлаас болж зовж шаналж болно.
- ReLU (шулуутгагдсан шугаман нэгж): гэж тодорхойлсон , энэ нь энгийн бөгөөд алга болох градиентийн асуудлыг багасгах чадвартай тул өргөн хэрэглэгддэг. Leaky ReLU болон Parametric ReLU зэрэг хувилбарууд нь стандарт ReLU-ийн зарим хязгаарлалтыг шийддэг.
- Танх функц: Оролтын утгуудыг -1-ээс 1 хүртэлх мужид буулгадаг. Энэ нь сигмоид функцээс илүү хүчтэй градиент өгдөг тул далд давхаргад ихэвчлэн ашиглагддаг.
Гүн мэдрэлийн сүлжээг сургах
Гүн мэдрэлийн сүлжээг сургах нь урьдчилан таамагласан болон бодит үр дүнгийн хоорондох ялгааг багасгахын тулд мэдрэлийн эсүүдийн хоорондох холболтын жинг оновчтой болгох явдал юм. Энэ үйл явц нь ихэвчлэн буцах тархалт ба градиент уруулаар дамждаг.
- Буцах тархалт: Энэ нь сүлжээний алдаанаас суралцах боломжийг гинжин дүрмээр жин тус бүрээр нь алдагдлын функцийн градиентийг тооцоолох алгоритм юм.
- Градиент уналт: Энэ оновчлолын алгоритм нь алдагдлыг багасгахын тулд жинг давтах байдлаар тохируулдаг. Stochastic Gradient Descent (SGD), Adam, RMSprop зэрэг хувилбарууд нь градиентийн хэмжээ, чиглэлд үндэслэн жинг шинэчлэх өөр өөр аргыг санал болгодог.
Гүн мэдрэлийн сүлжээн дэх сорилтууд
Гүн мэдрэлийн сүлжээг хэт тохируулах, алга болох/дэлбэрэх градиент, их хэмжээний шошготой өгөгдөл шаардагдах зэргээс шалтгаалан сургахад хүндрэлтэй байж болно.
- Хэт их тохирох: Загвар сургалтын өгөгдлийг хэт сайн сурч, чимээ шуугиан, хэт их хэмжигдэхүүнийг барьж авах үед тохиолддог бөгөөд энэ нь үл үзэгдэх өгөгдөл дээр түүний гүйцэтгэлийг бууруулдаг. Сургуулиа завсардах, эрт зогсоох, дүрэм журамд оруулах зэрэг арга техникийг хэт их хичээллэхтэй тэмцэхэд ашигладаг.
- Алга болсон/дэлбэрэх градиент: Эдгээр асуудлууд нь градиент хэт жижиг эсвэл хэт том болж, суралцах үйл явцад саад болох үед үүсдэг. Градиент хайчлах, багцыг хэвийн болгох, жинг сайтар эхлүүлэх зэрэг аргууд нь эдгээр асуудлыг багасгахад тусалдаг.
- Өгөгдлийн шаардлага: Мэдрэлийн гүн сүлжээ нь ерөнхийдөө сайн ерөнхийлөн тогтоохын тулд том өгөгдлийн багц шаарддаг. Өгөгдлийг нэмэгдүүлэх, дамжуулах сургалт нь өгөгдөл хязгаарлагдмал үед загварын гүйцэтгэлийг сайжруулахад ашигладаг стратеги юм.
Загвар дүрслэлд зориулсан TensorBoard
TensorBoard нь алдартай гүнзгий сургалтын хүрээ болох TensorFlow-д зориулсан дүрслэл хийх хэрэгсэл юм. Энэ нь гүн гүнзгий мэдрэлийн сүлжээг ойлгох, дибаг хийх, оновчтой болгоход туслах дүрслэх хэрэгслүүдийн багцаар хангадаг.
- Скалярууд: Цаг хугацааны алдагдал, нарийвчлал зэрэг скаляр утгыг хянаж, дүрслэн харуулах нь сургалтын үйл явцыг хянахад тусалдаг.
- график: Сүлжээгээр дамжих өгөгдлийн архитектур, урсгалын талаарх ойлголтыг өгөх загварын тооцооллын графикийг дүрслэн харуул.
- Гистограм: Жин, хазайлт болон бусад тензоруудын хуваарилалтыг харуулах нь сургалтын явцад эдгээр утгууд хэрхэн өөрчлөгдөж байгааг ойлгоход тусална.
- Оруулсан дүрслэгч: Доод хэмжээст орон зайд үг оруулах гэх мэт өндөр хэмжээст өгөгдлийг дүрслэн харуулах ба энэ нь өгөгдлийн хэв маяг, харилцааг илчлэх боломжтой.
- Зургууд: Сүлжээгээр дамжсан зургуудыг дүрслэн харуулах ба энэ нь зургийн өгөгдөлтэй холбоотой ажлуудад онцгой ач холбогдолтой.
Практик жишээ
10 өөр ангиллын 60,000 32×32 өнгөт зургаас бүрдэх CIFAR-10 өгөгдлийн багцыг ашиглан зургийн ангилалд зориулагдсан гүн мэдрэлийн сүлжээг авч үзье. Сүлжээ нь 3072 нейрон (32×32 пиксел х 3 өнгөт суваг) бүхий оролтын давхарга, онцлог шинж чанарыг задлах хэд хэдэн эргэлтийн давхарга, дараа нь бүрэн холбогдсон давхаргууд, 10 ангилалд тохирох 10 нейрон бүхий гаралтын давхаргатай архитектуртай байж болно.
Сургалтын явцад TensorBoard нь алдагдал, нарийвчлалын хэмжигдэхүүнийг хянах, сүлжээний архитектурыг дүрслэн харуулах, жин ба хэвийсэн байдлын хуваарилалтыг шалгахад ашиглаж болно. Сургалтын нарийвчлал өндөр, харин баталгаажуулалтын нарийвчлал бага байгаа нь загвар нь сайн ерөнхийлөлтгүй байгааг харуулж байгаа тул энэ мэдээлэл нь хэт тохируулга зэрэг асуудлыг оношлоход үнэлж баршгүй ач холбогдолтой юм.
Гүн мэдрэлийн сүлжээ нь өгөгдлийн нарийн төвөгтэй хэв маягийг загварчлах чадвартай машин сургалтын хэрэгслийн хүчирхэг хэрэгсэл юм. Тэдгээрийг амжилттай хэрэгжүүлэхийн тулд тэдний архитектур, сургалтын үйл явц, болзошгүй сорилтуудыг сайтар ойлгох шаардлагатай. TensorBoard гэх мэт хэрэгслүүд нь эдгээр загваруудын сургалт, гүйцэтгэлийн талаархи чухал ойлголтуудыг өгч, дадлагажигчдад загвараа үр дүнтэй сайжруулах, оновчтой болгох боломжийг олгодог.
Сүүлийн үеийн бусад асуулт, хариулт EITC/AI/GCML Google Cloud Machine Learning:
- Тоглогчдын зурсан doodles-ийг тайлбарлах нь юу вэ?
- Унших материалд "зөв алгоритм сонгох" тухай ярих нь үндсэндээ бүх боломжит алгоритмууд аль хэдийн байгаа гэсэн үг үү? Алгоритм нь тодорхой асуудалд "зөв" гэдгийг бид яаж мэдэх вэ?
- Машины сургалтанд ашигладаг гиперпараметрүүд юу вэ?
- Whawt бол машин сургалтын програмчлалын хэл бөгөөд зүгээр л Python хэл юм
- Шинжлэх ухааны ертөнцөд машин сургалтыг хэрхэн ашигладаг вэ?
- Та ямар машин сургалтын алгоритмыг ашиглахаа хэрхэн шийдэж, түүнийг хэрхэн олох вэ?
- Холбооны сургалт, захын тооцоолол, төхөөрөмж дээрх машин сургалтын хооронд ямар ялгаа байдаг вэ?
- Сургалтын өмнө өгөгдлийг хэрхэн бэлтгэх, цэвэрлэх вэ?
- Машин сургалтын төслийн тодорхой эхний даалгавар, үйл ажиллагаанууд юу вэ?
- Тодорхой машин сургалтын стратеги, загварыг хэрэгжүүлэхэд ямар дүрэм журам байдаг вэ?
EITC/AI/GCML Google Cloud Machine Learning-ээс бусад асуулт, хариултуудыг харна уу