Гүнзгий суралцах гэж юу вэ. Мэдрэлийн сүлжээ ба гүнзгий суралцах: ирээдүй ойрхон байна

Гүнзгий суралцах гэж юу вэ? 2016 оны гуравдугаар сарын 3

Өнөө үед тэд тэнгэрээс ирсэн манна юм шиг загварлаг гүнзгий сургалтын технологийг ярьдаг. Гэхдээ энэ нь юу болохыг илтгэгчид ойлгож байна уу? Гэхдээ үүнд ямар ч ойлголт байхгүй албан ёсны тодорхойлолт, мөн энэ нь бүхэл бүтэн технологиудыг нэгтгэдэг. Энэ нийтлэлд би энэ нэр томъёоны ард юу байгаа, яагаад ийм алдартай болсон, эдгээр технологи нь бидэнд юу өгч байгааг аль болох олон нийтэд тайлбарлахыг хүсч байна.


Товчхондоо, энэхүү шинэ нэр томьёо (гүнзгий суралцах) нь зарим энгийн хийсвэрлэлүүдээс илүү төвөгтэй, гүнзгий хийсвэрлэл (төлөөлөл) хэрхэн цуглуулах тухай юм. Хэдийгээр хамгийн энгийн хийсвэрийг ч хүн өөрөө биш компьютер өөрөө угсардаг байх ёстой. Тэдгээр. Энэ нь зөвхөн сурах тухай биш, харин мета-сургалттай холбоотой болсон. Дүрслэлээр хэлбэл, компьютер өөрөө хэрхэн хамгийн сайн сурахыг сурах ёстой. Үнэн хэрэгтээ энэ нь "гүн" гэсэн нэр томъёог яг таг илэрхийлдэг. Энэ нэр томъёо нь нэгээс олон далд давхаргыг ашигладаг хиймэл мэдрэлийн сүлжээнд бараг үргэлж хэрэглэгддэг тул албан ёсоор "гүн" гэдэг нь мэдрэлийн сүлжээний илүү гүн архитектур гэсэн үг юм.

Гүнзгий суралцах нь энгийн сургуулилтаас ямар ялгаатай болохыг та эндээс хөгжлийн слайдаас тодорхой харж болно. Би давтан, Гүнзгий сургалтын онцлог нь машин нь онцлог шинж чанаруудыг өөрөө олдог явдал юм(нэг ангийн объектыг нөгөөгөөс нь салгахад хамгийн хялбар байдаг аливаа зүйлийн гол шинж чанарууд) ба Эдгээр тэмдгүүдийг шаталсан байдлаар зохион байгуулдаг: энгийнийг илүү төвөгтэй болгон нэгтгэдэг. Доор бид үүнийг жишээгээр авч үзэх болно.

Зургийг таних даалгаврын жишээг харцгаая: өмнө нь тэд нэг давхарга (1024×768 - 800,000 орчим) бүхий ердийн мэдрэлийн сүлжээнд асар том хэмжээтэйг чихэж байсан. тоон утгууд) санах ойн хомсдол, аль пикселийг танихад чухал, аль нь чухал болохыг ойлгох чадваргүйн улмаас компьютер аажмаар үхэхийг харж байна. Энэ аргын үр нөлөөг дурдахгүй өнгөрч болохгүй. Ийм ердийн (гүехэн) мэдрэлийн сүлжээний архитектур энд байна.

Дараа нь тэд тархи нь онцлог шинж чанаруудыг хэрхэн ялгаж, үүнийг хатуу шаталсан байдлаар хийдэгийг сонсож, мөн зурган дээрээс шаталсан бүтцийг гаргаж авахаар шийджээ. Үүнийг хийхийн тулд мэдрэлийн сүлжээнд илүү олон далд давхаргууд (оролт ба гаралтын хоорондох давхаргууд; ойролцоогоор, мэдээлэл хувиргах үе шатууд) нэмэх шаардлагатай байв. Хэдийгээр тэд нейронууд зохион бүтээгдсэн даруйдаа үүнийг хийхээр шийдсэн ч зөвхөн нэг далд давхаргатай сүлжээг амжилттай сургасан. Тэдгээр. Зарчмын хувьд гүнзгий сүлжээнүүд нь ердийн сүлжээнүүдтэй адил удаан хугацаанд байсаар ирсэн, бид тэднийг зүгээр л сургаж чадаагүй. Юу өөрчлөгдсөн бэ?

2006 онд хэд хэдэн бие даасан судлаачид энэ асуудлыг нэгэн зэрэг шийдсэн (мөн техник хангамжийн боломжууд аль хэдийн хангалттай хөгжсөн, нэлээд хүчирхэг видео картууд гарч ирэв). Эдгээр судлаачид: Жеффри Хинтон (ба түүний хамтран зүтгэгч Руслан Салахутидинов) нь хязгаарлагдмал Больцман машин ашиглан мэдрэлийн сүлжээний давхарга бүрийг урьдчилан сургах техниктэй (эдгээр нэр томъёог намайг уучлаарай...), Янн Лекун конволюцийн мэдрэлийн сүлжээ, ба Каскад автомат кодлогчтой Ёшуай Бенгио. Эхний хоёрыг шууд Google болон Facebook-т элсүүлсэн. Энд хоёр лекц байна: нэг - Хинтон, нөгөө нь - Лякуна, үүнд тэд гүнзгий суралцах гэж юу болохыг хэлдэг. Энэ талаар тэднээс өөр хэн ч танд хэлж чадахгүй. Өөр нэг дажгүй лекцШмидхубер энэ шинжлэх ухааны тулгуур багана болох гүнзгий сургалтын хөгжлийн талаар. Хинтон бас нейроны талаар маш сайн курстэй.

Гүн мэдрэлийн сүлжээнүүд одоо юу хийж чадах вэ? Тэд объектыг таньж, дүрслэх чадвартай, энэ нь юу болохыг "ойлгодог" гэж хэлж болно. Энэ нь утгыг таньж мэдэх явдал юм.

Камерын харж буй зүйлийг бодит цаг хугацаанд таньж буй энэ видеог үзээрэй.

Миний хэлсэнчлэн гүнзгий сургалтын технологи нь бүхэл бүтэн технологи, шийдлүүд юм. Би эдгээрийн хэд хэдэн зүйлийг дээрх догол мөрөнд аль хэдийн жагсаасан байгаа, өөр нэг жишээ бол сүлжээний юу харж байгааг тайлбарлахын тулд дээрх видеон дээр яг ашигласан давтамжтай сүлжээнүүд юм. Гэхдээ технологийн хамгийн алдартай төлөөлөгч энэ ангийн- эдгээр нь одоо ч LyaKun-ийн эргэлтийн мэдрэлийн сүлжээнүүд юм. Эдгээр нь муурны тархины харааны бор гадаргын үйл ажиллагааны зарчимтай адилтган бүтээгдсэн бөгөөд үүнээс дор шулуун шугаманд хариу үйлдэл үзүүлдэг энгийн эсүүд олдсон байдаг. өөр өөр өнцөг, ба нарийн төвөгтэй - урвал нь энгийн эсийн тодорхой багцыг идэвхжүүлэхтэй холбоотой байдаг. Хэдийгээр үнэнийг хэлэхэд ЛаКун өөрөө биологид анхаарлаа хандуулаагүй ч тэр шийдсэн тодорхой даалгавар(түүний лекцүүдийг үзээрэй), дараа нь энэ нь давхцсан.

Энгийнээр хэлбэл, эргэлтийн сүлжээнүүд нь сургалтын үндсэн бүтцийн элемент нь мэдрэлийн эсүүдийн бүлэг (хослол) (ихэвчлэн 3х3, 10х10 квадрат гэх мэт) бөгөөд зөвхөн нэг биш юм. Мөн сүлжээний түвшин бүрт ийм олон арван бүлгүүдийг бэлтгэдэг. Сүлжээ нь зургийн талаархи мэдээллийг дээд зэргээр нэмэгдүүлэх мэдрэлийн эсийн хослолыг олдог. Эхний түвшинд сүлжээ нь зургийн хамгийн энгийн, бүтцийн энгийн элементүүдийг гаргаж авдаг - нэг нэгжийг бий болгох гэж хэлж болно: хил хязгаар, зураас, сегмент, ялгаатай байдал. Дээш дээш нь эхний түвшний элементүүдийн тогтвортой хослолууд байдаг ба гинжин хэлхээг дээшлүүлдэг. Гүн гүнзгий суралцах гол онцлогийг би дахин нэг удаа онцлон тэмдэглэхийг хүсч байна: сүлжээнүүд өөрсдөө эдгээр элементүүдийг бүрдүүлдэг бөгөөд тэдгээрийн аль нь илүү чухал, аль нь чухал биш болохыг шийддэг. Энэ нь маш чухал, учир нь машин сургалтын салбарт функцуудыг бий болгох нь чухал бөгөөд одоо бид компьютер өөрөө функцуудыг үүсгэж, сонгож сурах үе шатанд шилжиж байна. Машин нь өөрөө мэдээллийн шинж чанаруудын шатлалыг тодорхойлдог.

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


Хоёрдахь түвшинд энэ нь аль хэдийн эхний түвшний элементүүдийн элемент байх болно. Гурав дахь нь - хоёр дахь нь. Энэ зураг бол зүгээр л жагсаал гэдгийг та ойлгох ёстой. Одоо цагт аж үйлдвэрийн хэрэглээ, ийм сүлжээ нь 10-аас 30 давхаргатай (түвшин).

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

Хувиргасан сүлжээний талаар дэлгэрэнгүй -

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

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

Мэдрэлийн сүлжээ (НН) гэдэг ойлголт нь биологиас гаралтай бөгөөд хүний ​​тархины бүтцийн зарим талаар хялбаршуулсан загвар юм. Гэхдээ байгалийн шинжлэх ухааны зэрлэг зүйлд бүү орцгооё - хамгийн хялбар арга бол нейроныг (хиймэлийг оруулаад) олон оролтын нүхтэй, нэг гаралттай хар хайрцаг хэлбэрээр төсөөлөх явдал юм.

Математикийн хувьд хиймэл нейрон нь идэвхжүүлэх функц гэж нэрлэгддэг функцийг ашиглан оролтын дохионы вектор (нөлөөллийн) X-ийг гаралтын дохионы Y вектор болгон хувиргадаг. Холболтын хүрээнд (хиймэл мэдрэлийн сүлжээ - ANN) гурван төрлийн мэдрэлийн эсүүд ажилладаг: оролт (мэдээлэл хүлээн авах). гадаад ертөнц- бидний сонирхож буй хувьсагчдын утгууд), гаралт (хүссэн хувьсагчдыг буцаах - жишээлбэл, таамаглал эсвэл хяналтын дохио), мөн дундын - тодорхой дотоод ("далд") функцийг гүйцэтгэдэг нейронууд. Сонгодог ANN нь нейроны гурав ба түүнээс дээш давхаргаас бүрдэх ба хоёр дахь болон дараагийн давхаргад ("далд" ба гаралт) элемент бүр нь өмнөх давхаргын бүх элементүүдтэй холбогддог.

Үзэл баримтлалыг санах нь чухал юм санал хүсэлт, энэ нь ANN бүтцийн төрлийг тодорхойлдог: шууд дохио дамжуулах (дохио нь далд давхаргаар дамжин оролтын давхаргаас дараалан гарч, гаралтын давхаргад ордог) ба сүлжээ нь холоос ойрын мэдрэлийн эсүүд рүү буцах холболтуудыг агуулж байх үед давтагдах бүтэц). Эдгээр бүх ойлголтууд нь мэдрэлийн сүлжээг сургах, түүний аргуудыг ангилах, тэдгээрийн үйл ажиллагааны зарчмуудыг ойлгох дараагийн түвшинд шилжихэд шаардлагатай хамгийн бага мэдээллийг бүрдүүлдэг.

Мэдрэлийн сүлжээний сургалт

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

Тодорхой тохиолдол бүрт ANN аргын үйл ажиллагааны талаар дэлгэрэнгүй ярихгүйгээр өөр туйлшралгүйгээр, ямар ч тохиолдолд мэдрэлийн сүлжээ (багштай эсвэл "дангаараа") суралцах чадвар гэдгийг өөртөө сануулъя. ) тэр нь гол цэгпрактик асуудлыг шийдвэрлэхэд ашиглах.

Ерөнхийдөө ANN-ийг сургах нь дараах байдалтай байна.

  1. оролтын нейронууд гадаад орчноос хувьсагч ("өдөөлт") хүлээн авдаг;
  2. хүлээн авсан мэдээллийн дагуу мэдрэлийн сүлжээний чөлөөт параметрүүд өөрчлөгддөг (нейроны завсрын давхарга ажилладаг);
  3. Мэдрэлийн сүлжээний бүтцэд гарсан өөрчлөлтийн үр дүнд сүлжээ нь мэдээлэлд өөр байдлаар "харилцаа" үзүүлдэг.

Ийм л юм ерөнхий алгоритммэдрэлийн сүлжээг сургах (Павловын нохойг санаарай - тийм ээ, үүсэх дотоод механизм нөхцөлт рефлексЭнэ бол яг ийм зүйл - тэр даруй мартъя: эцсийн эцэст бидний нөхцөл байдал нь техникийн ойлголт, жишээн дээр ажиллахыг шаарддаг).

Бүх нийтийн сургалтын алгоритм байдаггүй нь тодорхой бөгөөд магадгүй байж болохгүй; Үзэл баримтлалын хувьд суралцах арга барилыг хяналттай сургалт, хяналтгүй сургалт гэж хоёр ангилдаг. Эхний алгоритм нь оролт ("суралцах") вектор бүрийн хувьд гаралтын ("зорилтот") векторын шаардлагатай утга байдаг гэж үздэг - иймээс эдгээр хоёр утга нь сургалтын хосыг бүрдүүлдэг бөгөөд эдгээр хосуудын бүхэл бүтэн багц нь сургалтын багц. Хяналтгүй сургалтын хувьд сургалтын багц нь зөвхөн оролтын векторуудаас бүрддэг бөгөөд энэ нөхцөл байдал нь бодит амьдралын үүднээс илүү үндэслэлтэй юм.

Гүнзгий суралцах

Гүн гүнзгий суралцах тухай ойлголт нь өөр ангилалд хамаарах бөгөөд олон түвшний мэдрэлийн сүлжээг багтаасан гүнзгий бүтэц гэж нэрлэгддэг сургалтын арга барилыг илэрхийлдэг. Зургийг таних талбараас энгийн жишээ: бусад хийсвэр шинж чанаруудын хувьд улам бүр нэмэгдэж буй хийсвэр шинж чанарыг тодорхойлох, өөрөөр хэлбэл нүүр, нүд, амны илэрхийлэл хоорондын хамаарлыг тодорхойлох машиныг заах шаардлагатай. эцэст нь математикийн хувьд өнгөт пикселийн кластерууд. Тиймээс гүнзгий мэдрэлийн сүлжээнд функцүүдийн түвшин бүр өөрийн гэсэн давхаргатай байдаг; Ийм “колос” бэлтгэхийн тулд судлаачдын зохих туршлага, түвшин байх нь ойлгомжтой техник хангамж. Зөвхөн 2006 он гэхэд мэдрэлийн гүнзгий суралцах нөхцөл бүрдсэн бөгөөд найман жилийн дараа бид энэ арга нь машин сургалтанд гарсан хувьсгалын талаар ярьж болно.

Тиймээс, юуны түрүүнд, бидний нийтлэлийн хүрээнд дараахь зүйлийг тэмдэглэх нь зүйтэй: гүнзгий суралцах нь ихэнх тохиолдолд хүний ​​хяналтанд байдаггүй. Өөрөөр хэлбэл, энэ арга нь мэдрэлийн сүлжээг багшгүйгээр сургах явдал юм. Энэ нь "гүнзгий" аргын гол давуу тал юм: хяналттай машин сургалт, ялангуяа гүн бүтцийн хувьд асар их цаг хугацаа, хөдөлмөрийн зардал шаарддаг. Гүнзгий суралцах нь хүнийг загварчлах арга юм хийсвэр сэтгэлгээ(эсвэл ядаж түүнд хандах оролдлогыг илэрхийлдэг) үүнийг ашиглахаас илүүтэй.

Энэ санаа нь ердийнх шигээ гайхалтай боловч арга барилын замд нэлээд байгалийн асуудал үүсдэг - юуны түрүүнд түүний бүх нийтийн шинж чанараас үүдэлтэй. Үнэн хэрэгтээ гүнзгий суралцах аргууд нь дүрсийг таних талбарт ихээхэн амжилтанд хүрсэн ч байгалийн хэлээр ижил төстэй боловсруулалт нь хариултаас илүү олон асуултыг дагуулсаар байна. Ойрын n жилд "хиймэл Леонардо Да Винчи" бүтээх боломжгүй болох нь тодорхой байна - ядаж! - "хиймэл хомо сапиенс".

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

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

Ирж буй хувьсгал ухаалаг роботууд 1950-иад оноос хойш арван жил тутамд урьдчилан таамаглаж ирсэн. Гэсэн хэдий ч энэ нь хэзээ ч тохиолдоогүй. Салбар дахь ахиц дэвшил хиймэл оюун ухаантодорхой бус, заримдаа уйтгартай болж, олон сонирхогчдын урмыг хугалсан. Харагдах амжилтууд - компьютер Гүн цэнхэр 1990-ээд оны дундуур IBM-ийн бүтээсэн бөгөөд 1997 онд Гарри Каспаровыг шатрын төрөлд ялсан, эсвэл 1990-ээд оны сүүлээр цахим орчуулагч гарч ирсэн нь механизмыг шилжүүлэхээс илүү "барзгар" тооцооллын үр дүн байв. хүний ​​ойлголткомпьютерийн тооцооллын процессууд дээр.

Гэсэн хэдий ч урам хугарах, бүтэлгүйтлийн түүх одоо эрс өөрчлөгдөж байна. Аравхан жилийн өмнө компьютерийн хараа болон объект таних алгоритмууд нь энгийн дэвсгэр дээр бөмбөрцөг эсвэл хайрцгийг тодорхойлж чаддаг байв. Тэд одоо хүний ​​нүүр царайг хүн шиг таних чадвартай, бүр нарийн төвөгтэй, байгалийн дэвсгэр. Зургаан сарын өмнө Google ухаалаг гар утсанд зориулсан 20 гаруй текстийг орчуулах боломжтой программыг гаргасан гадаад хэлгэрэл зураг, замын тэмдэг эсвэл гараар бичсэн текстээс үг унших замаар!

Мэдрэлийн сүлжээний зарим хуучин санааг "амьдрал"-ыг нэмж бага зэрэг өөрчилсөн нь тодорхой болсны дараа энэ бүхэн боломжтой болсон. Хүн ба амьтны төсөөллийн нарийн ширийн зүйлийг төлөвлөх нь хэний ч төсөөлж байгаагүй гайхалтай үр дүнг өгч чадна. Энэ удаад хиймэл оюун ухааны хувьсгал үнэхээр бодитой мэт санагдаж байна.

Ихэнх тохиолдолд машин сургалтын чиглэлээр мэдрэлийн сүлжээнүүдийн судалгааг үргэлж шинэ таних арга техникийг эрэлхийлдэг. янз бүрийн төрөлөгөгдөл. Тиймээс камерт холбогдсон компьютер нь дүрсийг таних алгоритмыг ашиглан ялгах чадвартай байх ёстой. чанар муутай хүний ​​царай, аяга цай эсвэл нохой. Түүхийн хувьд эдгээр зорилгоор мэдрэлийн сүлжээг ашиглах нь ихээхэн бэрхшээлтэй тулгарсаар ирсэн. Бага зэргийн амжилтанд хүртэл хүний ​​оролцоо шаардлагатай байсан - хүмүүс хөтөлбөрийг тодорхойлоход тусалсан чухал шинж чанаруудзургийн хүрээ эсвэл энгийн геометрийн дүрс гэх мэт зургууд. Одоо байгаа алгоритмуудТэд өөрсдөө үүнийг хийж сурч чадаагүй.

Гэмтлийг бий болгосны ачаар байдал эрс өөрчлөгдсөн гүн гүнзгий суралцах мэдрэлийн сүлжээ, энэ нь одоо дүрсийг бараг хүн шиг үр дүнтэй шинжлэх боломжтой. Ийм мэдрэлийн сүлжээ нь чанар муутай дүрсийг эхний түвшний "нейрон" -д оруулдаг бөгөөд дараа нь шугаман бус холболтоор "зураг" -ыг дараагийн түвшний нейронууд руу дамжуулдаг. Тодорхой бэлтгэл хийсний дараа "нейронууд" илүү их байдаг өндөр түвшинтанигдахын тулд зургийн илүү хийсвэр талыг ашиглаж болно. Жишээлбэл, тэд зургийн хил хязгаар, орон зай дахь байршлын онцлог гэх мэт нарийн ширийн зүйлийг ашиглаж болно. Гайхалтай нь ийм сүлжээнүүд хүний ​​тусламжгүйгээр зургийн хамгийн чухал шинж чанарыг тооцоолж сурах боломжтой!

Гүнзгий суралцах мэдрэлийн сүлжээг ашиглах гайхалтай жишээ бол өөр өөр өнцгөөс эсвэл өөр өөр байрлалаар авсан ижил объектуудыг таних явдал юм. бид ярьж байнахүн эсвэл амьтны тухай). Пикселээр сканнердах алгоритмууд нь хоёр өөр дүрсийг харж байна гэж “бододог” бол “ухаалаг” мэдрэлийн сүлжээнүүд нэг объектыг харж байгаагаа “ойлгодог”. Мөн эсрэгээр - ижил позоор авсан өөр өөр үүлдрийн хоёр нохойн зургийг өмнөх алгоритмууд нь ижил нохойны гэрэл зураг гэж ойлгож болно. Мэдрэлийн сүлжээнүүдГүнзгий суралцсанаар амьтдыг ялгахад туслах зураг дээрх нарийн ширийн зүйлийг тодорхойлж чадна.

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

Өнөөдөр график нь машин сургалтын системд бүтээгдсэн загваруудыг дүрслэх хамгийн хүлээн зөвшөөрөгдсөн аргуудын нэг юм. Эдгээр тооцооллын графикууд нь оройн хоорондох холболтыг дүрсэлсэн синапс ирмэгээр холбогдсон нейроны оройнуудаас бүрдэнэ.

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

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

Poplar нь стандарт машин сургалтын үйлдлүүдийг өндөр оновчтой IPU програмын код болгон хөрвүүлэхийн тулд эхнээс нь бүтээгдсэн график хөрвүүлэгчийг агуулдаг. Энэ нь POPNN цуглуулдагтай ижил зарчмаар эдгээр графикуудыг цуглуулах боломжийг танд олгоно. Номын сан нь ерөнхий командуудад зориулсан өөр өөр оройн төрлүүдийн багцыг агуулдаг.

График бол бүх программ хангамж дээр суурилсан парадигм юм. Poplar-д графикууд нь тооцооллын процессыг тодорхойлох боломжийг олгодог бөгөөд оройнууд нь үйлдлүүдийг гүйцэтгэдэг бөгөөд ирмэгүүд нь тэдгээрийн хоорондын хамаарлыг тодорхойлдог. Жишээлбэл, хэрэв та хоёр тоог хамтад нь нэмэхийг хүсвэл хоёр оролт (өөрийн нэмэхийг хүссэн тоонууд), зарим тооцоолол (хоёр тоог нэмэх функц), гаралт (үр дүн) бүхий оройг тодорхойлж болно.

Ихэвчлэн оройнуудтай хийх үйлдлүүд нь дээр дурдсан жишээнээс хамаагүй илүү төвөгтэй байдаг. Тэдгээрийг ихэвчлэн codelets (кодын нэр) гэж нэрлэдэг жижиг программуудаар тодорхойлдог. График хийсвэрлэл нь тооцооллын бүтцийн талаар ямар ч таамаглал дэвшүүлдэггүй бөгөөд тооцооллыг IPU ашиглахад ашиглаж болох бүрэлдэхүүн хэсгүүдэд хуваадаг тул сонирхолтой байдаг.

Полар нь энэхүү энгийн хийсвэрлэлийг ашиглан дүрс хэлбэрээр дүрслэгдсэн маш том графикуудыг бүтээдэг. Графикийг програм хангамжаар бий болгосноор бид үүнийг хамгийн их байлгахын тулд шаардлагатай тодорхой тооцоололд тохируулж болно гэсэн үг юм үр дүнтэй ашиглахОУПХ-ны нөөц.

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


AlexNet-ийн бүхэл бүтэн сургалтын мөчлөгийн урагш болон хойшхи чиглэлийн график

Poplar график хөрвүүлэгч нь AlexNet-ийн тайлбарыг 18.7 сая орой, 115.8 сая ирмэг бүхий тооцооллын график болгон хувиргасан. Илт харагдахуйц кластер нь сүлжээний давхарга бүр дэх процессуудын хооронд хүчтэй харилцааны үр дүн бөгөөд давхаргууд хоорондын харилцаа холбоо илүү хялбар байдаг.

Өөр нэг жишээ бол бүрэн холбогдсон энгийн сүлжээ юм. бэлтгэгдсэн MNIST дээр - компьютерийн хараанд зориулсан энгийн мэдээллийн багц, машин сургалтын нэгэн төрлийн "Сайн уу, дэлхий". Энэхүү өгөгдлийн багцыг судлах энгийн сүлжээ нь Poplar програмын удирддаг графикийг ойлгоход тусална. График сангуудыг TensorFlow гэх мэт фреймворкуудтай нэгтгэснээр тус компани IPU-г машин сургалтын программуудад ашиглах хамгийн энгийн аргуудын нэгийг санал болгож байна.

Графикийг хөрвүүлэгч ашиглан бүтээсний дараа түүнийг гүйцэтгэх шаардлагатай. График хөдөлгүүрийг ашиглан үүнийг хийх боломжтой. ResNet-50-ийн жишээ нь түүний ажиллагааг харуулж байна.


ResNet-50 график

ResNet-50 архитектур нь давтагдах хуваалтуудаас гүнзгий сүлжээг бий болгох боломжийг олгодог. Процессор эдгээр хэсгүүдийг зөвхөн нэг удаа тодорхойлж, дахин дуудах шаардлагатай. Жишээлбэл, conv4 түвшний кластер нь зургаан удаа хийгдэх боловч зөвхөн нэг удаа графикт буулгасан. Мөн зураг нь эвдрэлийн давхаргын янз бүрийн хэлбэрийг харуулж байна, учир нь тэдгээр нь тус бүр нь графикийн дагуу хийгдсэн графиктай байдаг. байгалийн хэлбэртооцоолол.

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

ResNet-50 зураг нь бүхэл бүтэн загварыг харуулж байна. Энэ түвшинд бие даасан оройн хоорондох холболтыг тодорхойлоход хэцүү байдаг тул томруулсан зургийг үзэх нь зүйтэй. Мэдрэлийн сүлжээний давхарга дахь хэсгүүдийн зарим жишээг доор харуулав.

Гүн сүлжээнд яагаад ийм их санах ой хэрэгтэй байдаг вэ?

Их хэмжээний эзлэгдсэн санах ой нь хамгийн их санах ойн нэг юм том асуудлуудгүн мэдрэлийн сүлжээ. Судлаачид DRAM төхөөрөмжүүдийн хязгаарлагдмал зурвасын өргөнтэй тэмцэхийг оролдож байгаа бөгөөд орчин үеийн системүүд гүн мэдрэлийн сүлжээнд асар олон тооны жин, идэвхжүүлэлтийг хадгалахад ашиглах ёстой.

Архитектурууд нь өндөр нягтралтай санах ойд зориулж дараалсан боловсруулалт болон DRAM-ийн оновчлолд зориулагдсан процессорын чип ашиглан бүтээгдсэн. Эдгээр хоёр төхөөрөмжийн хоорондох интерфэйс нь зурвасын өргөнийг хязгаарлаж, эрчим хүчний хэрэглээнд ихээхэн хэмжээний нэмэлт зардал үүсгэдэг саад тотгор юм.

Хэдийгээр бид хүний ​​тархи, түүний хэрхэн ажилладаг талаар бүрэн ойлголттой болоогүй байгаа ч ерөнхийдөө тусдаа санах ойн том агуулах байдаггүй гэж ойлгодог. Хүний тархины урт болон богино хугацааны санах ойн үйл ажиллагаа нь мэдрэлийн эсүүд + синапсуудын бүтцэд шингэсэн байдаг гэж үздэг. Тэр ч байтугай энгийн организмууд 300 гаруй мэдрэлийн эсээс бүрддэг мэдрэлийн тархины бүтэцтэй өтнүүд шиг, ямар нэгэн санах ойн үйл ажиллагаа.

Ердийн процессоруудад санах ой бий болгох нь асуудлыг тойрон гарах нэг арга юм гацаасанах ой, эрчим хүчний бага зарцуулалтаар асар их зурвасын өргөнийг нээх. Гэсэн хэдий ч чип дээрх санах ой нь үнэтэй бөгөөд гүн мэдрэлийн сүлжээг сургах, байрлуулахад ашигладаг CPU болон GPU-д холбогдсон үнэхээр их хэмжээний санах ойд зориулагдаагүй болно.

Тиймээс өнөөдөр санах ойг CPU болон GPU-д суурилсан гүнзгий сургалтын системд хэрхэн ашиглаж байгааг харж, өөрөөсөө асуувал: хүний ​​тархи тэдгээргүйгээр зүгээр ажиллаж байхад яагаад ийм том санах ойн хадгалах төхөөрөмж хэрэгтэй байна вэ?

Мэдрэлийн сүлжээнд оролт нь сүлжээгээр тархах үед оролтын өгөгдөл, жин, идэвхжүүлэх функцийг хадгалахын тулд санах ой хэрэгтэй. Суралцахдаа гаралтын градиент дахь алдааг тооцоолоход ашиглах хүртэл оролт дээрх идэвхжүүлэлтийг хадгалах ёстой.

Жишээлбэл, 50 давхаргатай ResNet сүлжээ нь 26 сая орчим жингийн параметртэй бөгөөд нэг удаад 16 сая идэвхжүүлэлтийг тооцдог. урагш чиглэл. Хэрэв та жин, идэвхжүүлэлт бүрийг хадгалахын тулд 32 битийн хөвөгч ашигладаг бол 168 МБ зай шаардагдах болно. Эдгээр жин болон идэвхжүүлэлтийг хадгалахын тулд бага нарийвчлалтай утгыг ашигласнаар бид энэ хадгалах хэрэгцээг хоёр дахин эсвэл бүр дөрөв дахин нэмэгдүүлэх боломжтой.

Санах ойн гол асуудал нь GPU нь нягт вектор хэлбэрээр дүрслэгдсэн өгөгдөлд тулгуурладагтай холбоотой юм. Тиймээс тэд хүрэхийн тулд нэг заавар утас (SIMD) ашиглаж болно өндөр нягтралтайтооцоолол. CPU нь өндөр гүйцэтгэлтэй тооцоолоход ижил төстэй вектор нэгжийг ашигладаг.

GPU нь 1024 битийн синапс өргөнтэй байдаг тул 32 битийн хөвөгч цэгийн өгөгдлийг ашигладаг тул 1024 битийн өгөгдлийн векторуудыг үүсгэхийн тулд үүнийг 32 дээжийн зэрэгцээ мини багц болгон хуваадаг. Вектор параллелизмд хандах энэхүү арга нь идэвхжүүлэлтийн тоог 32 дахин нэмэгдүүлж, 2 ГБ-аас дээш багтаамжтай дотоод санах ойн хэрэгцээг нэмэгдүүлдэг.

GPU болон матриц алгебрт зориулагдсан бусад машинууд нь жин эсвэл мэдрэлийн сүлжээний идэвхжүүлэлтийн санах ойн ачаалалд өртдөг. GPU нь гүн мэдрэлийн сүлжээнд хэрэглэгддэг жижиг эргэлтийг үр дүнтэй гүйцэтгэж чадахгүй. Тиймээс эдгээр эргэлтийг хувиргахын тулд "багасгах" гэж нэрлэгддэг өөрчлөлтийг ашигладаг матриц-матрицын үржүүлэх(GEMM), график хурдасгуурууд үр дүнтэй ажиллах боломжтой.

Мөн оролтын өгөгдөл, түр зуурын утга, програмын зааврыг хадгалахад нэмэлт санах ой шаардлагатай. ResNet-50-г өндөр чанартай GPU дээр сургахдаа санах ойн ашиглалтыг хэмжихэд 7.5 ГБ-аас илүү дотоод DRAM шаардлагатай болохыг харуулсан.

Тооцооллын нарийвчлал бага байх нь шаардлагатай санах ойн хэмжээг бууруулж магадгүй гэж зарим хүмүүс бодож болох ч энэ нь тийм биш юм. Жин, идэвхжүүлэлтийн хувьд өгөгдлийн утгыг хагас нарийвчлалтайгаар сольсноор та SIMD векторын өргөний талыг л дүүргэж, боломжтой тооцоолох нөөцийн талыг үрэх болно. Үүнийг нөхөхийн тулд та GPU дээр бүрэн нарийвчлалаас хагас нарийвчлал руу шилжих үед боломжтой бүх тооцооллыг ашиглахын тулд өгөгдлийн параллелизмыг хангалттай болгохын тулд мини багцын хэмжээг хоёр дахин нэмэгдүүлэх шаардлагатай болно. Тиймээс бага нарийвчлалтай жин рүү шилжих, GPU дээр идэвхжүүлэхийн тулд 7.5 ГБ-аас илүү чөлөөтэй хандалтын динамик санах ой шаардлагатай хэвээр байна.

Үүнтэй хамт их тоохадгалах шаардлагатай өгөгдлийг GPU-д бүгдийг нь багтаах нь ердөө боломжгүй юм. Мэдрэлийн сүлжээний давхарга бүр нь гадаад DRAM-ийн төлөвийг хадгалж, дараагийн сүлжээний давхаргыг ачаалж, дараа нь өгөгдлийг системд ачаалах шаардлагатай. Үүний үр дүнд аль хэдийн хязгаарлагдмал зурвасын өргөнтэй гадаад санах ойн интерфейс нь жинг байнга дахин ачаалах, идэвхжүүлэх функцуудыг хадгалах, сэргээх нэмэлт ачааллаас болж зовж шаналж байна. Энэ нь сургалтын цагийг мэдэгдэхүйц удаашруулж, эрчим хүчний хэрэглээг ихээхэн нэмэгдүүлдэг.

Энэ асуудлыг шийдэх хэд хэдэн арга бий. Нэгдүгээрт, идэвхжүүлэх функц гэх мэт үйлдлүүдийг "газар дээр нь" гүйцэтгэж, оролтын өгөгдлийг гаралт руу шууд дахин бичих боломжийг олгодог. Ингэснээр одоо байгаа санах ойг дахин ашиглах боломжтой. Хоёрдугаарт, боломж дахин ашиглахСүлжээ дээрх үйлдлүүдийн хоорондох өгөгдлийн хамаарал болон тухайн үед ашиглагдаагүй үйлдлүүдтэй ижил санах ойг хуваарилах замаар санах ойг олж авч болно.

Хоёрдахь арга нь санах ойн удирдлагын нэмэлт зардал бараг тэг болж багассан тул хөрвүүлэх үед мэдрэлийн сүлжээг бүхэлд нь шинжлэн тогтмол хуваарилагдсан санах ойг бий болгоход үр дүнтэй байдаг. Эдгээр аргуудын хослол нь мэдрэлийн сүлжээний санах ойн хэрэглээг 2-3 дахин бууруулах боломжтой болох нь тогтоогдсон.
Гурав дахь чухал хандлагыг саяхан Baidu Deep Speech баг нээсэн. Тэд идэвхжүүлэх функцүүдийн санах ойн хэрэглээг 16 дахин бууруулж, 100 давхарга бүхий сүлжээг сургах боломжийг олгохын тулд санах ойг хэмнэх янз бүрийн арга техникийг ашигласан. Өмнө нь ижил хэмжээний санах ойтой тэд есөн давхаргатай сүлжээг сургаж чаддаг байв.

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

Машины сургалтын бусад аргууд дахь мэдрэлийн сүлжээ болон мэдлэгийн загваруудыг математик график гэж үзэж болно. Эдгээр графикуудад асар их хэмжээний параллелизм төвлөрсөн байдаг. График дахь параллелизмыг ашиглах зориулалттай параллель процессор нь мини багцад тулгуурладаггүй бөгөөд шаардлагатай дотоод санах ойн хэмжээг мэдэгдэхүйц бууруулж чадна.

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

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

03.05.2017 Дмитрий Ильвовский, Екатерина Черняк

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

Мэдрэлийн сүлжээний технологи, гүнзгий суралцах сонирхол нь компьютерийн хэл шинжлэлийг тойрч гарсангүй - байгалийн хэл дээрх текстийг автоматаар боловсруулах. Энэ салбарын шинжлэх ухааны гол форум болох Тооцооллын хэл шинжлэлийн нийгэмлэгийн саяхан болсон бага хурал дээр илтгэлүүдийн дийлэнх нь мэдрэлийн сүлжээг ашиглахад зориулагдсан байв. мэдэгдэж байгаа асуудлууд, мөн стандарт машин сургалтын хэрэглүүрийг ашиглан шийдвэрлэх боломжгүй шинийг судлахад зориулагдсан. Анхаарал нэмэгдсэнХэл шинжлэлийн мэргэжилтнүүд мэдрэлийн сүлжээг сонирхож байгаа нь хэд хэдэн шалтгаантай байдаг. Мэдрэлийн сүлжээг ашиглах нь нэгдүгээрт, зарим хүмүүсийн шийдлийн чанарыг эрс сайжруулдаг стандарт даалгаварТекст, дарааллын ангилал, хоёрдугаарт, тексттэй шууд ажиллах үед хөдөлмөрийн эрч хүчийг бууруулдаг, гуравдугаарт, шинэ асуудлуудыг шийдвэрлэх боломжийг олгодог (жишээлбэл, чат робот үүсгэх). Үүний зэрэгцээ мэдрэлийн сүлжээг хэл шинжлэлийн асуудлыг шийдвэрлэх бүрэн бие даасан механизм гэж үзэх боломжгүй юм.

Эхний ажил гүнзгий суралцах(гүнзгий суралцах) нь 20-р зууны дунд үеэс эхлэлтэй. 1940-өөд оны эхээр Уоррен МакКаллоч, Уолтер Питтс нар хүний ​​тархины албан ёсны загвар болох хиймэл мэдрэлийн сүлжээг санал болгосон бөгөөд хэсэг хугацааны дараа Фрэнк Розенблатт өөрсдийн ажлыг ерөнхийд нь нэгтгэн компьютер дээр мэдрэлийн сүлжээний загварыг бүтээжээ. Эхнийх нь алгоритмыг ашиглан мэдрэлийн сүлжээг сургах чиглэлээр ажилладаг буцаан тархалталдаанууд нь 1960-аад оноос эхтэй (алгоритм нь урьдчилан таамаглах алдааг тооцоолж, стохастик оновчлолын техникийг ашиглан багасгадаг). Гэсэн хэдий ч тархийг дуурайх санаа нь гоо үзэсгэлэн, дэгжин байсан ч "уламжлалт" мэдрэлийн сүлжээг сургахад удаан хугацаа шаардагддаг бөгөөд жижиг өгөгдлийн багц дээрх ангиллын үр дүн нь энгийн аргаар олж авсан үр дүнтэй харьцуулах боломжтой болсон. , жишээ нь Support Vector Machines (SVM). Үүний үр дүнд мэдрэлийн сүлжээг 40 жилийн турш мартсан боловч өнөөдөр тэдэнтэй ажиллахад дахин эрэлт хэрэгцээтэй болсон. их хэмжээний эзэлхүүнбүтэцгүй өгөгдөл, зураг, текст.

Албан ёсны үүднээс авч үзвэл мэдрэлийн сүлжээ нь өгөгдсөн архитектурын чиглэсэн график бөгөөд орой эсвэл зангилаа гэж нэрлэгддэг. мэдрэлийн эсүүд. Графикийн эхний түвшин нь оролтын зангилаа, сүүлийн түвшинд гаралтын зангилаа, тоо нь даалгавараас хамаарна. Жишээлбэл, хоёр ангилалд ангилахын тулд нэг эсвэл хоёр мэдрэлийн эсийг сүлжээний гаралтын давхаргад байрлуулж, k ангилалд ангилж болно. Мэдрэлийн сүлжээний график дахь бусад бүх түвшинг ихэвчлэн далд давхарга гэж нэрлэдэг. Нэг түвшинд байрлах бүх мэдрэлийн эсүүд дараагийн түвшний бүх мэдрэлийн эсүүдтэй ирмэгээр холбогддог бөгөөд ирмэг бүр нь жинтэй байдаг. Нейрон бүрд биологийн нейронуудын үйл ажиллагааг загварчлах идэвхжүүлэх функцийг хуваарилдаг: оролтын дохио сул байх үед тэд "чимээгүй" байдаг бөгөөд түүний утга нь тодорхой босго хэмжээнээс давсан үед тэд асааж, сүлжээний дагуу оролтын утгыг дамжуулдаг. Жишээнүүдийг ашиглан мэдрэлийн сүлжээг сургах даалгавар (өөрөөр хэлбэл "объект - зөв хариулт" хосыг ашиглан) нь ирмэгийн жинг олох явдал юм. хамгийн сайн аргаарзөв хариултыг урьдчилан таамаглах. Энэ бол архитектур буюу мэдрэлийн сүлжээний графикийн бүтцийн топологи нь түүний хамгийн чухал үзүүлэлт болох нь тодорхой байна. Хэдийгээр "гүн сүлжээ" гэсэн албан ёсны тодорхойлолт хараахан гараагүй байгаа ч бүх мэдрэлийн сүлжээг дараахь байдлаар хүлээн зөвшөөрдөг. их тоодавхаргууд эсвэл "стандарт бус" давхаргатай (жишээлбэл, зөвхөн сонгосон холбоосыг агуулсан эсвэл бусад давхаргатай рекурс ашиглах).

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

Мэдрэлийн сүлжээний хамгийн түгээмэл хэрэглээний нэг бол тархалтын семантикийн талбартай холбоотой үгсийн векторуудыг бүтээх явдал юм: үгийн утгыг контекст, эргэн тойрны үгсээр нь ойлгох боломжтой гэж үздэг. Үнэхээр, хэрэв бид текст дэх зарим үгийг мэдэхгүй бол мэддэг хэл, тэгвэл ихэнх тохиолдолд та түүний утгыг тааж чадна. Үгсийн векторууд нь үгийн утгын математик загвар болж үйлчилдэг: нэлээд том текстээс бүтсэн "үг-контекст" том матриц дахь мөрүүд. Хөрш зэргэлдээх үгс, тухайн үгтэй ижил синтаксик буюу утгын бүтцэд багтсан үгс гэх мэт нь тодорхой үгийн хувьд "контекст" болж чаддаг давтамжийг ийм матрицын нүдэнд тэмдэглэж болно (энэ үг хэдэн удаа тааралдсан). энэ хүрээнд), гэхдээ ихэнхдээ тэд эерэг хос харилцан мэдээллийн коэффициентийг (Positive Pointwise Mutual Information, PPMI) ашигладаг бөгөөд энэ нь тухайн үгийн дүр төрх нь тухайн нөхцөл байдалд хэр санамсаргүй байсныг харуулдаг. Ийм матрицыг үгсийг бүлэглэх эсвэл хайлтын үгтэй ойролцоо утгатай үгсийг хайхад нэлээд амжилттай ашиглаж болно.

2013 онд Томаш Миколов үгийн векторуудыг сургахад мэдрэлийн сүлжээг ашиглахыг санал болгосон нийтлэлээ хэвлүүлсэн боловч жижиг хэмжээтэй: хамгийн энгийн архитектурын мэдрэлийн сүлжээг tuples (үг, контекст) ашиглан сургасан бөгөөд гаралт дээр үг бүрийг 300 элементийн векторыг өгсөн. Ийм векторууд нь үгсийн семантик ойролцоо байдлыг илүү сайн дамжуулдаг болох нь тогтоогдсон. Жишээлбэл, тэдгээрийн дээр та утгыг нэмэх, хасах арифметик үйлдлүүдийг тодорхойлж, дараахь тэгшитгэлийг олж авах боломжтой: "Парис - Франц + Орос = Москва"; "хаан - эрэгтэй + эмэгтэй = хатан." Эсвэл олох нэмэлт үг"алим, лийр, интоор, зулзага" гэсэн эгнээнд. Энэхүү бүтээл нь word2vec ерөнхий нэрийн дор skip-gram болон CBOW (Үгийн тасралтгүй уут) гэсэн хоёр архитектурыг танилцуулсан. Дараа нь харуулсанчлан word2vec нь PPMI жин бүхий үгийн контекст матрицын хүчин зүйлчлэлээс өөр зүйл биш юм. Одоо word2vec-ийг гүнзгий суралцах гэхээсээ илүү түгээлтийн семантик гэж ангилах нь заншил болсон ч энэ загварыг бий болгох анхны түлхэц нь мэдрэлийн сүлжээг ашиглах явдал байв. Нэмж дурдахад word2vec векторууд нь үгийн утгыг илэрхийлэх тохиромжтой дүрслэл болж, текстийг ангилахад ашигладаг гүн мэдрэлийн сүлжээнд оролт болгон өгөх боломжтой болсон.

Текстийг ангилах ажил нь зах зээлдүүлэгчдийн хувьд хамгийн тулгамдсан асуудлын нэг бөгөөд ялангуяа бүтээгдэхүүн, үйлчилгээний талаархи хэрэглэгчийн санал бодол, хандлагыг шинжлэхэд тул судлаачид түүний шийдлийн чанарыг сайжруулахаар байнга ажиллаж байна. Гэсэн хэдий ч үзэл бодлын дүн шинжилгээ нь текстээс илүү өгүүлбэрийг ангилах ажил юм - эерэг тоймд хэрэглэгч нэг эсвэл хоёр сөрөг өгүүлбэр бичих боломжтой бөгөөд тэдгээрийг тодорхойлж, дүн шинжилгээ хийх чадвартай байх нь бас чухал юм. Өгүүлбэрийг ангилахад алдартай бэрхшээл бол оролтын хувьсах урттай холбоотой байдаг - текст дэх өгүүлбэрүүд дурын урттай байж болох тул тэдгээрийг мэдрэлийн сүлжээний оролтод хэрхэн оруулах нь тодорхойгүй байна. Нэг арга нь зургийн шинжилгээний талбараас зээлсэн бөгөөд convolutional neural networks (CNN) ашиглах явдал юм (Зураг 2).

Хувиралт мэдрэлийн сүлжээний оролт нь үг бүрийг аль хэдийн вектороор (векторын вектор) төлөөлсөн өгүүлбэр юм. Ихэвчлэн урьдчилан бэлтгэгдсэн word2vec загварууд нь үгийг вектор хэлбэрээр илэрхийлэхэд ашиглагддаг. Мушгих мэдрэлийн сүлжээ нь "гүн" конволюцийн давхарга ба ердийн далд давхарга гэсэн хоёр давхаргаас бүрдэнэ. Хувиргах давхарга нь эргээд шүүлтүүр ба "дэд дээж авах" давхаргаас бүрдэнэ. Шүүлтүүр гэдэг нь текст дотор шилжиж, тодорхой тооны үгсийг дараалан сонгох цонхыг ашиглан оролт нь үүсдэг нейрон юм (жишээлбэл, "гурван" урттай цонх нь эхний гурван үг, хоёроос дөрөв дэх үгсийг сонгох болно. Гураваас тав хүртэл гэх мэт). Шүүлтүүрийн гаралтын үед түүнд орсон үгсийн бүх векторыг нэгтгэсэн нэг вектор үүсдэг. Дараа нь дэд түүврийн давхаргад бүх саналд тохирох ганц векторыг үүсгэсэн бөгөөд энэ нь бүх гаралтын шүүлтүүр векторын бүрэлдэхүүн хэсгийн хамгийн их утгаар тооцогдоно. Эвлэлийн мэдрэлийн сүлжээг сургах, хэрэгжүүлэхэд хялбар байдаг. Тэднийг сургахын тулд стандарт буцаан тархалтын алгоритмыг ашигладаг бөгөөд шүүлтүүрийн жин жигд тархсан тул (цонхноос гарч буй i-р үгийн жин нь ямар ч шүүлтүүрийн хувьд ижил байна) параметрийн тоо эвхэгддэг мэдрэлийн сүлжээ нь жижиг. Компьютерийн хэл шинжлэлийн үүднээс конволюцийн мэдрэлийн сүлжээг хэлнэ хүчирхэг хэрэгсэлангилалын хувьд, гэхдээ ямар ч хэл шинжлэлийн зөн совин байхгүй бөгөөд энэ нь алгоритмын алдааны шинжилгээг ихээхэн хүндрүүлдэг.

Дарааллын ангилал гэдэг нь үг тус бүрийг нэг шошготой болгох шаардлагатай даалгавар юм: морфологийн шинжилгээ (үг бүрийг ярианы хэсэг болгон хуваарилдаг), нэрлэсэн объектыг задлах (үг бүр нь хүний ​​нэр, газарзүйн нэр гэх мэт) мөн эсэхийг тодорхойлох). гэх мэт дарааллыг ангилахдаа тухайн үгийн нөхцөлийг харгалзан үзсэн аргуудыг ашигладаг: хэрэв өмнөх үг нь хүний ​​нэрний нэг хэсэг бол одоогийн үг нь мөн нэрний нэг хэсэг байж болох ч тухайн үгийн нэг хэсэг байх магадлал багатай. байгууллагын нэр. Өнгөрсөн зууны төгсгөлд санал болгосон хэлний загваруудын санааг өргөжүүлсэн мэдрэлийн сүлжээнүүд нь энэ шаардлагыг практикт хэрэгжүүлэхэд тусалдаг. Сонгодог хэлний загвар нь i-1 гэсэн үгийн дараа i үг гарах магадлалыг урьдчилан таамаглаж байна. Хэлний загварыг мөн дараагийн үгийг таамаглахад ашиглаж болно: аль үгтэй хамгийн их магадлалтайүүний дараа уулзах уу?

Хэлний загваруудыг сургахын тулд том корпус хэрэгтэй - сургалтын корпус том байх тусам загвар нь "мэддэг" үгсийн олон хосыг агуулдаг. Хэлний загвар боловсруулахдаа мэдрэлийн сүлжээг ашиглах нь хадгалагдсан өгөгдлийн хэмжээг бууруулдаг. i-2, i-1 гэсэн үгсийг оруулдаг, гаралт дээр мэдрэлийн сүлжээ нь i үгийг урьдчилан таамаглаж байдаг энгийн сүлжээний архитектурыг төсөөлье. Нууцлагдмал давхаргын тоо болон тэдгээрийн нейронуудын тооноос хамааран бэлтгэгдсэн сүлжээг харьцангуй жижиг хэмжээтэй нягт матриц хэлбэрээр хадгалах боломжтой. Өөрөөр хэлбэл, сургалтын корпус болон бүх хос үгсийн оронд хэдхэн матриц, жагсаалтыг хадгалах боломжтой. өвөрмөц үгс. Гэсэн хэдий ч мэдрэлийн хэлний ийм загвар нь үгсийн хоорондох урт холболтыг анхаарч үзэхийг зөвшөөрдөггүй. Энэ асуудлыг давтагдах мэдрэлийн сүлжээгээр шийддэг (Зураг 3), оролтод шинэ үг орж ирсний дараа далд давхаргын дотоод төлөв шинэчлэгдэхээс гадна дараагийн алхамд шилждэг. Тиймээс давтагдах сүлжээний далд давхарга нь өмнөх алхам дахь далд давхаргын төлөв ба шинэ үг гэсэн хоёр төрлийн оролтыг хүлээн авдаг. Хэрэв давтагдах мэдрэлийн сүлжээ нь өгүүлбэрийг боловсруулдаг бол далд төлөвүүд нь өгүүлбэр дэх урт холболтыг санаж, дамжуулах боломжийг олгодог. Давтагдах мэдрэлийн сүлжээ нь өгүүлбэрт тухайн субьектийн хүйсийг санаж, өгүүлбэр үүсгэхдээ зөв төлөөний үгийг (тэр - тэр, тэр - түүний) сонгож авдаг нь туршилтаар олон удаа батлагдсан боловч энэ төрлийн мэдээлэл яг хэрхэн хадгалагдаж байгааг тодорхой харуулдаг. мэдрэлийн сүлжээ эсвэл түүнийг хэрхэн ашигладаг талаар одоог хүртэл амжилтанд хүрээгүй байна.

Давтагдах мэдрэлийн сүлжээг текстийн ангилалд мөн ашигладаг. Энэ тохиолдолд завсрын алхамуудын гаралтыг ашиглахгүй бөгөөд мэдрэлийн сүлжээний сүүлчийн гаралт нь таамагласан ангиллыг буцаана. Өнөөдөр далд давхаргад хэдэн арван нейрон бүхий хоёр чиглэлтэй (далд төлөвийг зөвхөн "баруун тийш" төдийгүй "зүүн тийш" дамжуулдаг) давтагдах сүлжээнүүд нь текст, дарааллын ангиллын асуудлыг шийдвэрлэх стандарт хэрэгсэл болжээ. текст үүсгэх ба бусад алгоритмуудыг үндсэндээ орлуулсан.

Давтагдах мэдрэлийн сүлжээг хөгжүүлэх нь Seq2seq төрлийн архитектур болж хувирсан бөгөөд нэг нь оролтыг (жишээлбэл, нэг хэл дээрх асуулт эсвэл өгүүлбэр) дүрслэх, дүн шинжилгээ хийх үүрэгтэй холбогдсон хоёр давтамжтай сүлжээнээс бүрддэг. гаралт (өөр хэл дээрх хариулт эсвэл өгүүлбэр). Seq2seq сүлжээнүүд нь доор байрладаг орчин үеийн системүүд"асуулт-хариулт", чатын роботууд болон машин орчуулгын системүүд.

Хувиралт мэдрэлийн сүлжээнээс гадна автомат кодлогчийг текстийн шинжилгээнд ашигладаг бөгөөд жишээлбэл, Photoshop эсвэл Instagram дээр зураг дээр эффект үүсгэхэд ашигладаг бөгөөд хэл шинжлэлд хэмжээст байдлыг багасгах асуудалд (проекц хайх) хэрэглэгдэх болсон. Доод хэмжээст орон зайд текстийг төлөөлөх вектор). Хоёр хэмжээст орон зайд проекц хийх нь текстийг хавтгай дээрх цэг болгон дүрслэх боломжийг олгодог бөгөөд текстийн цуглуулгыг цэгүүдийн багц хэлбэрээр дүрслэх боломжийг олгодог, өөрөөр хэлбэл энэ нь хэрэгсэл болдог. урьдчилсан дүн шинжилгээтекстийг бүлэглэх, ангилахаас өмнө. Ангилах даалгавраас ялгаатай нь хэмжээстийг багасгах даалгавар нь чанарын тодорхой шалгуургүй боловч автомат кодлогч ашиглах үед олж авсан зургууд нь нэлээд "итгэмжтэй" харагдаж байна. ХАМТ математикийн цэгАвтомат кодлогч нь f(x) = x шугаман функцийг сурдаг хяналтгүй мэдрэлийн сүлжээ бөгөөд кодлогч ба декодер гэсэн хоёр хэсгээс бүрдэнэ. Кодлогч нь мэдрэлийн эсийн тоо буурч, олон далд давхарга бүхий сүлжээ юм. Декодер нь мэдрэлийн эсийн тоо нэмэгдэж байгаа ижил төстэй сүлжээ юм. Тэдгээр нь доод хэмжээст шинэ орон зайд хэмжээс байх ёстой олон тооны нейронтой далд давхаргаар холбогддог бөгөөд энэ давхарга нь хэмжээст байдлыг багасгах үүрэгтэй. Хувиралт мэдрэлийн сүлжээнүүдийн нэгэн адил автомат кодлогч нь хэлний тайлбаргүй тул аналитик гэхээсээ илүү инженерчлэлийн хэрэгсэл гэж үзэж болно.

Гайхалтай үр дүнг үл харгалзан мэдрэлийн сүлжээг текстийг шинжлэхэд (хэлний хэв маягийг хайх) бие даасан хэрэгсэл гэж үзэх боломжгүй бөгөөд текстийг ойлгохоос хамаагүй бага юм. Тийм ээ, мэдрэлийн сүлжээ нь үгсийн хоорондох далд холболтыг олж, текстэн дэх хэв маягийг олж илрүүлэх боломжийг олгодог боловч эдгээр холболтыг тайлбарлах боломжтой хэлбэрээр үзүүлэх хүртэл мэдрэлийн сүлжээнүүд нь маш энгийн машин сургалтын хэрэгсэл хэвээр байх болно. Түүнээс гадна аж үйлдвэрийн салбарт аналитик шийдлүүдМэдээлэл бэлтгэхэд үндэслэлгүй зардал, үр дүнг урьдчилан таамаглах боломжгүй тул гүнзгий суралцах нь эрэлт хэрэгцээтэй хэвээр байна. Судалгааны нийгэмлэгт хүртэл мэдрэлийн сүлжээг бүх нийтийн хэрэгсэл болгох оролдлогыг шүүмжилдэг. 2015 онд Стэнфордын тооцооллын хэл шинжлэлийн бүлгийн дарга, ACL-ийн ерөнхийлөгч Крис Мэннинг мэдрэлийн сүлжээг ашиглах боломжийг тодорхой тодорхойлсон. Үүнд тэрээр текстийн ангилал, дарааллын ангилал, хэмжээсийг багасгах даалгавруудыг багтаасан болно. Гэсэн хэдий ч гүнзгий суралцах маркетинг, сурталчилгааны ачаар тооцооллын хэл шинжлэл өөрөө болон түүний шинэ хэрэглээнд анхаарал хандуулах нь нэмэгдсэн.

Уран зохиол

  1. Томаш Миколов нар. аль. Вектор орон зай дахь үгийн дүрслэлийг үр дүнтэй тооцоолох, arxiv.org. URL: http://arxiv.org/pdf/1301.3781.pdf
  2. Леви Омер, Йоав Голдберг, Идо Даган. Үг оруулахаас сурсан сургамжтай тархалтын ижил төстэй байдлыг сайжруулах. Тооцооллын хэл шинжлэлийн холбооны ажил гүйлгээ 3. - 2015. - P. 211–225. URL: https://www.transacl.org/ojs/index.php/tacl/article/view/570/124 (хандалтын огноо: 05/18/2017).
  3. Павел Велихов. Байгалийн хэлийг ойлгоход зориулсан машин сургалт // Нээлттэй систем. DBMS. - 2016. - No 1. - P.18–21. URL: (хандалтын огноо: 2017/05/18).
  4. Кристофер Мэннинг. Тооцооллын хэл шинжлэл ба гүнзгий суралцах. Тооцооллын хэл шинжлэл. - 2016. URL: http://www.mitpressjournals.org/doi/full/10.1162/COLI_a_00239#.WQH8MBhh2qA (хандах огноо: 2017/05/18).

Дмитрий Ильвовский ([имэйлээр хамгаалагдсан]) - Олон улсын лабораторийн ажилтан ухаалаг системүүдТэгээд бүтцийн шинжилгээ, Екатерина Черняк ([имэйлээр хамгаалагдсан]) - төвийн багш тасралтгүй боловсрол, Компьютерийн шинжлэх ухааны факультет, Үндэсний судалгааны их сургуулийн Эдийн засгийн дээд сургууль (Москва). Уг ажлыг Хөтөлбөрийн хүрээнд хийсэн суурь судалгааҮндэсний судалгааны их сургуулийн Эдийн засгийн дээд сургууль.





Танд нийтлэл таалагдсан уу? Найзуудтайгаа хуваалцаарай!