Мэдрэлийн сүлжээнүүд. Энэ бүхэн хаашаа явж байна вэ?

Нийтлэл нь хоёр хэсгээс бүрдэнэ.

  1. Зурган дээрх объект илрүүлэх сүлжээний зарим архитектурын товч тайлбар, миний хувьд хамгийн ойлгомжтой эх сурвалжуудын холбоос бүхий дүрс сегментчилэл. Би видео тайлбарыг орос хэл дээр сонгохыг хичээсэн.
  2. Хоёрдахь хэсэг нь мэдрэлийн сүлжээний архитектурын хөгжлийн чиглэлийг ойлгох оролдлого юм. Мөн тэдгээрт суурилсан технологиуд.

Мэдрэлийн сүлжээнүүд. Энэ бүхэн хаашаа явж байна вэ?

Зураг 1 - Мэдрэлийн сүлжээний архитектурыг ойлгох нь тийм ч хялбар биш юм

Энэ бүхэн нь Андройд утсан дээр объектын ангилал, илрүүлэх хоёр демо програмыг хийснээр эхэлсэн:

  • Ар талын демо, өгөгдлийг сервер дээр боловсруулж утас руу дамжуулах үед. Гурван төрлийн баавгайн дүрсний ангилал: бор, хар, теди.
  • Урд талын демоутсан дээр өгөгдөл боловсруулах үед. Hazelnuts, инжир, огноо гэсэн гурван төрлийн объектыг илрүүлэх (объект илрүүлэх).

Зургийн ангилал, зураг дээрх объектыг илрүүлэх даалгавруудын хооронд ялгаа бий зургийн сегментчилэл. Тиймээс ямар мэдрэлийн сүлжээний архитектурууд зураг дээрх объектуудыг илрүүлж, аль нь сегментчилж болохыг олж мэдэх шаардлагатай байв. Миний хувьд нөөцөд хамгийн ойлгомжтой холбоос бүхий архитектурын дараах жишээг би олсон:

  • R-CNN-д суурилсан архитектурын цувралууд (Rбүхий бүс нутгууд Cэргэлт Nевро Networks онцлогууд): R-CNN, Fast R-CNN, Илүү хурдан R-CNN, Маск R-CNN. Зурган дээрх объектыг илрүүлэхийн тулд бүсийн саналын сүлжээ (RPN) механизмыг ашиглан хязгаарлах хайрцагуудыг хуваарилдаг. Эхлээд RPN-ийн оронд илүү удаан сонгомол хайлтын механизмыг ашигласан. Дараа нь сонгосон хязгаарлагдмал бүсүүдийг ангилахын тулд ердийн мэдрэлийн сүлжээний оролтод өгдөг. R-CNN архитектур нь хязгаарлагдмал бүс нутгуудад тодорхой "for" гогцоотой бөгөөд AlexNet дотоод сүлжээгээр нийтдээ 2000 хүртэл гүйлт хийдэг. Тодорхой "for" гогцоонууд нь зураг боловсруулах хурдыг удаашруулдаг. Дотоод мэдрэлийн сүлжээгээр дамждаг тодорхой гогцоонуудын тоо архитектурын шинэ хувилбар бүрээр багасч, хурдыг нэмэгдүүлэх, объект илрүүлэх даалгаврыг Mask R-CNN-д объектын сегментчлэлээр солихын тулд олон арван өөрчлөлтийг хийдэг.
  • YOLO (You Only Look Once) нь хөдөлгөөнт төхөөрөмж дээр объектыг бодит цаг хугацаанд таньсан анхны мэдрэлийн сүлжээ юм. Онцлог шинж чанар: нэг гүйлтээр объектуудыг ялгах (нэг л удаа харах). Өөрөөр хэлбэл, YOLO архитектурт тодорхой "for" гогцоо байхгүй тул сүлжээ хурдан ажилладаг. Жишээлбэл, NumPy-д матрицтай үйлдлүүдийг гүйцэтгэхдээ тодорхой "for" гогцоонууд байдаггүй бөгөөд үүнийг NumPy-д C програмчлалын хэлээр дамжуулан архитектурын доод түвшинд хэрэгжүүлдэг.YOLO нь урьдчилан тодорхойлсон цонхнуудын сүлжээг ашигладаг. Нэг объектыг олон удаа тодорхойлохоос сэргийлэхийн тулд цонхны давхцлын коэффициентийг (IoU) ашигладаг. Iуулзвар oVer Uнион). Энэхүү архитектур нь өргөн хүрээний үйл ажиллагаа явуулдаг бөгөөд өндөр чанартай бат бөх байдал: Загвар өмсөгчийг гэрэл зураг дээр сургаж болох ч гараар зурсан зураг дээр сайн ажилладаг.
  • SSD (Sзалгах Sхалуун MultiBox Detector) - YOLO архитектурын хамгийн амжилттай "хакерууд" -ыг ашигладаг (жишээлбэл, хамгийн их бус дарангуйлал) ба мэдрэлийн сүлжээг илүү хурдан, илүү нарийвчлалтай ажиллуулахын тулд шинээр нэмж оруулав. Онцлог шинж чанар: зургийн пирамид дээрх цонхны өгөгдсөн сүлжээг (анхдагч хайрцаг) ашиглан нэг гүйлтээр объектуудыг ялгах. Зургийн пирамид нь дараалсан хувиргах, нэгтгэх үйлдлүүдээр (хамгийн их хэмжээгээр нэгтгэх үед орон зайн хэмжээ багасдаг) эвдрэлийн тензорт кодлогдсон байдаг. Ийм байдлаар том, жижиг объектуудыг нэг сүлжээний ажилд тодорхойлдог.
  • MobileSSD (Гар утасNetV2+ SSD) нь мэдрэлийн сүлжээний хоёр архитектурын хослол юм. Эхний сүлжээ MobileNetV2 хурдан ажиллаж, таних нарийвчлалыг нэмэгдүүлдэг. MobileNetV2-г анх ашиглаж байсан VGG-16-ийн оронд ашигладаг анхны нийтлэл. Хоёрдахь SSD сүлжээ нь зураг дээрх объектуудын байршлыг тодорхойлдог.
  • SqueezeNet – маш жижиг боловч үнэн зөв мэдрэлийн сүлжээ. Энэ нь өөрөө объект илрүүлэх асуудлыг шийдэж чадахгүй. Гэсэн хэдий ч энэ нь янз бүрийн архитектурыг хослуулан хэрэглэж болно. Мөн хөдөлгөөнт төхөөрөмжид ашигладаг. Онцлог шинж чанар нь өгөгдлийг эхлээд дөрвөн 1 × 1 эргэлтийн шүүлтүүр болгон шахаж, дараа нь дөрвөн 1 × 1, дөрвөн 3 × 3 эргэлтийн шүүлтүүр болгон өргөжүүлсэн явдал юм. Мэдээллийг шахах-өргөжүүлэх ийм давталтын нэгийг "Галын модуль" гэж нэрлэдэг.
  • DeepLab (Гүн эргэлтийн сүлжээ бүхий семантик зургийн сегментчилэл) – зураг дээрх объектуудыг сегментчилэл. Архитектурын өвөрмөц онцлог нь орон зайн нарийвчлалыг хадгалдаг өргөссөн эргэлт юм. Үүний дараагаар график магадлалын загвар (нөхцөлт санамсаргүй талбар) ашиглан үр дүнг боловсруулсны дараах шат дамждаг бөгөөд энэ нь сегментчилсэн жижиг дуу чимээг арилгах, сегментчилсэн зургийн чанарыг сайжруулах боломжийг олгодог. "График магадлалын загвар" хэмээх гайхалтай нэрний ард ердийн Гауссын шүүлтүүр нуугдаж байгаа бөгөөд энэ нь ойролцоогоор таван оноотой байдаг.
  • Төхөөрөмжийг олох гэж оролдсон RefineDet (Ганц буудлага боловсронгуй болгохОбъектэд зориулсан мэдрэлийн сүлжээ Detection), гэхдээ би нэг их ойлгосонгүй.
  • Би мөн "анхаарал" технологи хэрхэн ажилладагийг харлаа. видео 1, видео 2, видео 3. "Анхаарал" архитектурын нэг онцлог шинж чанар нь зураг дээрх анхаарлын төвлөрөл нэмэгдэж буй бүс нутгийг автоматаар сонгох явдал юм (RoI, Rегионууд of Interest) Attention Unit хэмээх мэдрэлийн сүлжээг ашиглан. Анхаарал татахуйц бүс нутгууд нь хязгаарлах хайрцагтай төстэй боловч тэдгээрээс ялгаатай нь тэдгээр нь зураг дээр тогтдоггүй бөгөөд бүдгэрсэн хил хязгаартай байж болно. Дараа нь анхаарлын төвлөрөл ихтэй бүс нутгуудаас шинж тэмдгүүд (онцлогууд) тусгаарлагдсан бөгөөд тэдгээр нь архитектуртай давтагдах мэдрэлийн сүлжээнд "тэжээгддэг". LSDM, GRU эсвэл Vanilla RNN. Давтагдах мэдрэлийн сүлжээ нь шинж чанаруудын хамаарлыг дарааллаар нь шинжлэх чадвартай. Давтагдах мэдрэлийн сүлжээг эхэндээ текстийг бусад хэл рүү хөрвүүлэхэд ашигладаг байсан бол одоо орчуулга хийхэд ашигладаг зургуудыг текст болгох и текст рүү зураг.

Бид эдгээр архитектурыг судалж байхдаа Би юу ч ойлгохгүй байгаагаа ойлгосон. Энэ нь миний мэдрэлийн сүлжээнд анхаарал хандуулах механизмтай холбоотой асуудал биш юм. Эдгээр бүх архитектурыг бүтээх нь зохиогчид хакерддаг ямар нэгэн том хакатонтой адил юм. Hack бол програм хангамжийн хүндрэлтэй асуудлыг хурдан шийдвэрлэх арга юм. Өөрөөр хэлбэл, эдгээр бүх архитектурын хооронд харагдахуйц, ойлгомжтой логик холболт байхгүй байна. Тэднийг нэгтгэдэг зүйл бол тэдний бие биенээсээ зээлж авдаг хамгийн амжилттай хакеруудын багц, мөн бүгдэд зориулсан нийтлэг зүйл юм. хаалттай эргэлтийн эргэлтийн үйл ажиллагаа (алдаа буцаан тархалт, буцаан тархалт). Үгүй системийн сэтгэлгээ! Юуг өөрчлөх, одоо байгаа амжилтаа хэрхэн оновчтой болгох нь тодорхойгүй байна.

Хакеруудын хооронд логик холболт байхгүйн улмаас тэдгээрийг санах, практикт хэрэгжүүлэхэд маш хэцүү байдаг. Энэ бол хуваагдмал мэдлэг юм. Сайндаа л хэд хэдэн сонирхолтой, санаанд оромгүй мөчүүд дурсагддаг ч ойлгогдох, үл ойлгогдох зүйлсийн ихэнх нь хэдхэн хоногийн дотор ой санамжаас алга болдог. Долоо хоногийн дараа та архитектурын нэрийг ядаж санаж байвал сайн байх болно. Гэхдээ хэдэн цаг, тэр ч байтугай ажлын цагийг нийтлэл уншиж, тойм видео үзэхэд зарцуулсан!

Мэдрэлийн сүлжээнүүд. Энэ бүхэн хаашаа явж байна вэ?

Зураг 2 – Мэдрэлийн сүлжээний амьтны хүрээлэн

Шинжлэх ухааны нийтлэлийн ихэнх зохиогчид миний хувийн бодлоор энэхүү хуваагдмал мэдлэгийг уншигчдад ойлгохгүй байхын тулд чадах бүхнээ хийдэг. Гэхдээ "агааргүй" томъёолол бүхий арван мөрт өгүүлбэр дэх оролцооны хэллэг нь тусдаа өгүүллийн сэдэв юм (асуудал). нийтлэх буюу мөхөх).

Ийм учраас мэдрэлийн сүлжээг ашиглан мэдээллийг системчлэх, улмаар ойлгох, цээжлэх чанарыг нэмэгдүүлэх шаардлагатай байна. Тиймээс хиймэл мэдрэлийн сүлжээний бие даасан технологи, архитектурт дүн шинжилгээ хийх гол сэдэв нь дараахь ажил байв. Энэ бүхэн хаашаа явж байгааг олж мэд, мөн ямар нэгэн тодорхой мэдрэлийн сүлжээний төхөөрөмж биш.

Энэ бүхэн хаашаа явж байна вэ? Үндсэн үр дүн:

  • Сүүлийн хоёр жилд машин сургалтын стартапуудын тоо огцом унав. Боломжит шалтгаан: "мэдрэлийн сүлжээнүүд шинэ зүйл байхаа больсон."
  • Энгийн асуудлыг шийдэхийн тулд хэн ч ажилладаг мэдрэлийн сүлжээг бий болгож чадна. Үүнийг хийхийн тулд "загвар амьтны хүрээлэн" -ээс бэлэн загвар авч, мэдрэлийн сүлжээний сүүлчийн давхаргыг сургана (сургалтыг шилжүүлэх)-аас бэлэн өгөгдөл дээр Google Dataset Search эсвэл 25 мянган Kaggle мэдээллийн багц үнэгүй үүл Бархасбадь гарагийн дэвтэр.
  • Мэдрэлийн сүлжээний томоохон үйлдвэрлэгчид бий болгож эхлэв "Загвар амьтны хүрээлэн" (загвар амьтны хүрээлэн). Тэдгээрийг ашигласнаар та арилжааны програмыг хурдан үүсгэж болно: TF төв TensorFlow-ийн хувьд, MMDtection PyTorch-ийн хувьд, Илрүүлэгч Caffe2-д зориулсан, chainer-modelzoo Chainer болон другие.
  • Мэдрэлийн сүлжээнүүд ажиллаж байна бодит цаг хугацаа (бодит цагийн) хөдөлгөөнт төхөөрөмж дээр. Секундэд 10-аас 50 кадр хүртэл.
  • Утас (TF Lite), хөтөч (TF.js) болон доторх мэдрэлийн сүлжээг ашиглах гэр ахуйн эд зүйлс (IoT, Iинтернэтийн of Tнугас). Ялангуяа мэдрэлийн сүлжээг техник хангамжийн түвшинд аль хэдийн дэмждэг утаснуудад (мэдрэлийн хурдасгуур).
  • "Төхөөрөмж бүр, хувцас хунар, тэр байтугай хоол хүнс хүртэл байх болно IP-v6 хаяг мөн бие биетэйгээ харилцах" - Себастьян Трун.
  • Машин сургалтын талаархи нийтлэлүүдийн тоо нэмэгдэж эхэлсэн Мурын хуулийг давах (хоёр жил тутамд хоёр дахин нэмэгддэг) 2015 оноос хойш. Нийтлэлд дүн шинжилгээ хийхэд бидэнд мэдрэлийн сүлжээ хэрэгтэй нь ойлгомжтой.
  • Дараах технологиуд түгээмэл болж байна.
    • ПиТорч – алдар нэр нь хурдацтай өсч байгаа бөгөөд TensorFlow-ийг гүйцэж түрүүлж байх шиг байна.
    • Гиперпараметрийг автоматаар сонгох AutoML - алдар нэр жигд өсч байна.
    • Нарийвчлалыг аажмаар бууруулж, тооцооллын хурдыг нэмэгдүүлэх: бүдэг логик, алгоритмууд нэмэгдүүлэх, тодорхой бус (ойролцоогоор) тооцоолол, квантчлал (мэдрэлийн сүлжээний жинг бүхэл тоо болгон хувиргаж, квант болгох үед), мэдрэлийн хурдасгуур.
    • Орчуулга зургуудыг текст болгох и текст рүү зураг.
    • бий болгох Видео бичлэгээс 3D объектууд, одоо бодит цаг хугацаанд.
    • DL-ийн гол зүйл бол маш их өгөгдөл байдаг боловч цуглуулах, шошголох нь тийм ч хялбар биш юм. Тиймээс тэмдэглэгээний автоматжуулалт хөгжиж байна (автомат тэмдэглэгээ) мэдрэлийн сүлжээг ашигладаг мэдрэлийн сүлжээнд зориулагдсан.
  • Мэдрэлийн сүлжээний тусламжтайгаар Компьютерийн шинжлэх ухаан гэнэт болов туршилтын шинжлэх ухаан мөн боссон нөхөн үржихүйн хямрал.
  • Мэдээллийн технологийн мөнгө болон мэдрэлийн сүлжээний алдар нэр нь тооцоолол нь зах зээлийн үнэ цэнэ болсон үед нэгэн зэрэг бий болсон. Эдийн засаг алт, валютын эдийн засгаас өөрчлөгдөж байна алт-валют-тооцоолох. Миний нийтлэлийг үзнэ үү экономофизик мөн мэдээллийн технологийн мөнгө гарч ирсэн шалтгаан.

Аажмаар шинэ нь гарч ирнэ ML/DL програмчлалын арга зүй (Machine Learning & Deep Learning) нь хөтөлбөрийг бэлтгэгдсэн мэдрэлийн сүлжээний загвар болгон харуулахад үндэслэсэн.

Мэдрэлийн сүлжээнүүд. Энэ бүхэн хаашаа явж байна вэ?

Зураг 3 – ML/DL програмчлалын шинэ арга зүй

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

Миний болон бусад эх сурвалжийн холбоосууд:

Таны анхаарлын төвд баярлалаа!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх