ІІ майстэрня: Як навучыць машыну распазнаваць выявы

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

На здымку: Фрыда Агілар Эстрада

Нашай машыне патрэбная камера, каб рухацца наперад. Адным з варыянтаў можа стаць радар Lidar (выяўленне святла і далёкасці), які выкарыстоўвае лазерныя прамяні для адлюстравання наваколля. Але калі Элон Маск лічыць, што для Тэсла аптычнага рашэння дастаткова, для нас гэтага дастаткова. У гэтым пасце я паспрабую апісаць тэхналагічную аснову распазнавання вобразаў ІІ.

Існуе тры асноўныя катэгорыі да штучнага навучання: узмоцненае навучанне, кантраляванае навучанне і непадкантрольнае навучанне. Навучанае навучанне - гэта вельмі распаўсюджаны спосаб навучання ІІ, і сёння мы спынімся на гэтым. Ідэя заключаецца ў прадастаўленні машынных дадзеных, якія ўжо былі засакрэчаны. У нашым выпадку мы пакажам камп'ютэру шмат малюнкаў і скажам тое, што яны малююць. Мы маглі б накіраваць на навучанне, каб можна было адрозніць лазанью, фалафель і булачкі карыцы. Такім чынам, мы паказваем на ім пазначаныя выявы ўсіх трох, шматлікіх малюнкаў. Калі ІІ гатовы, мы можам паказаць яму новы вобраз, і ён разлічыць верагоднасць таго, што ён будзе адным з трох варыянтаў.

Уявіце, у нас на гавані быў прыпаркаваны грузавік марожанага, і нам хацелася б прадбачыць яго продажу, каб мы маглі мець дастаткова інвентара. Што можа быць фактарам продажу марожанага? Дзённая тэмпература можа быць добрай. Такім чынам, давайце вывучым тэмпературу дзён і продажу марожанага. Мы можам пакласці іх у дыяграму і выкарыстаць лінейную рэгрэсію для аналізу дадзеных. Гэта дасць нам найбольш прыдатную лінію, якую мы можам выкарыстоўваць для прагназавання. Палажэнне лініі вызначаецца аптымізацыяй адлегласці ад усіх кропак да лініі і максімальна малым. З дапамогай лініі, якая найбольш падыходзіць, мы можам зрабіць некаторыя прыблізныя прагнозы.

Але сярэднясутачная тэмпература, напэўна, не адзіны фактар ​​продажаў. Калі б мы дадалі колькасць дажджу да карціны, мы атрымалі б трохмерную графіку. Лінія, якая найбольш падыходзіць, стала б плоскасцю найбольш прыдатнай. І калі мы дададзім дзень тыдня да аналізу, мы атрымаем мадэль, якую мы не можам уявіць. У складаных сітуацыях падобныя нейронавыя сеткі працуюць вельмі добра.

Паколькі першапачаткова даследаванні штучных тэхналогій спрабавалі імітаваць чалавечы інтэлект, некаторыя тэрміны знаёмыя з біялогіі. У нас ёсць нейроны, сінапсы і раздражняльнікі. Але ў нас ёсць шмат тэрміналогіі з навукі дадзеных, напрыклад, страта функцыі і дапрацоўка. У наш час узнавіць чалавечы мозг ужо не мэта, але тэрміналогія затрымалася.

Нейронныя сеткі складаюцца з нейронаў, звязаных паміж сабой пры дапамозе сінапсаў. Злучэнні маюць розную вагу. Нейроны прадастаўляюцца функцыямі актывацыі, якія вызначаюць, калі нейрон распальваецца і перадае інфармацыю. (Вы можаце прачытаць больш пра розныя тыпы функцый актывацыі і калі іх выкарыстоўваць адсюль)

Мы хочам зрабіць сартавальнік, які можа распазнаваць выявы літар. У нас ёсць наступныя ўзоры, кожны квадрат уяўляе сабой адну карцінку. Мы вырашылі выкарыстаць крок у якасці функцыі актывацыі, якая дасць нам толькі вынікі 0 і 1. Калі піксель будзе белым, ён атрымае 0. Калі піксель мае колеры, ён выдае 1. Які колер у яго не мае розніцы, для ілюстрацыі адрозненняў я выкарыстаў розныя колеры. Такім чынам, калі эверт пікселя не будзе белым, нейрон будзе актывавацца. І каб захаваць інфармацыю ў парадку і супастаўна, мы друкуем вынікі злева направа, зверху ўніз. Выхад нейронаў для малюнка S будзе 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1 і для малюнка Е было б 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1.

Цяпер нам трэба высветліць, як прымяніць вагу да нейронавага высновы, каб адрозніць фігуры. Для дасягнення гэтага існуе бясконца шмат рашэнняў. Ясна, што мы павінны засяродзіцца на пікселях, дзе выхад адрозніваецца. Гэта значыць, што мы можам выкарыстоўваць вагу 0 для ўсіх пікселяў, якія былі актываваны абедзвюма фігурамі (фіялетавыя). Усе белыя пікселі не актывуюць нейроны, таму нам не трэба думаць пра іх вагу.

Мы можам вырашыць, напрыклад, што, калі вынік адмоўны, лічба - Е, а станоўчыя вынікі - лічба С. S вага 1. Калі іншыя вынікі памнажаюцца на 0, мы атрымаем вынікі 1 або -1.

Такім чынам, сума ўсіх вынікаў лічбы S складае 0 х 1+ 0 х 1+ 0 х1 +0 х 1+ 0 х 1+ 0 + 0 + 0 + 0 х 1 + 0 х 1 + 0 х 1 + 0 х 1 + 0 + 0 + 0 + 1 х 1 + 0 х 1 + 0 х 1 + 0 х 1+ 0 х 1 = 1. І сума ўсіх вынікаў малюнка Е будзе 0 х 1 + 0 х 1 + 0 х 1 + 0 х 1 + 0 х 1 + 0 + 0 + 0 + 0 х 1 + 0 х 1 + 0 х 1 + 0 x 1 + (-1 x 1) + 0 + 0 + 0 + 0 x 1 + 0 x 1 + 0 x 1 + 0 x 1 = -1.

Гэта было даволі лёгка вырашыць. Але калі мы дадамо літару F да сумесі, усё становіцца крыху больш складана.

Дыферэнцыяцыя літар E і F можа быць дасягнута без клопатаў, напрыклад, з гэтымі вагамі:

Гэтыя вагі будуць прыводзіць альбо да 11 х 0,1 = 1,1, альбо да 3 х (-1) = -3 пры станоўчых выніках для малюнка F і адмоўных для фігуры Е. Але калі мы ўключаем лічбу S, адрозненні менш выяўленыя і цяжэй адрозніваць вагу. І даданне лістоў толькі пагаршае.

Нам спатрэбіцца больш заблытанае рашэнне, чым проста адмоўныя і станоўчыя вынікі. Магчыма, мы прысвоім вынікі ад 0 да 2 для малюнка S, ад 2 да 4 для малюнка Е і г.д. Калі мы дададзім нейронныя пласты ў нейронную сетку, ён можа ўнесці больш дасканалыя змены ў вазе і піксель будзе важны толькі ў выпадку, калі іншы піксель быў актываваны. Вось так нейронныя сеткі здольныя выконваць складаныя задачы, для якіх мы хочам іх выкарыстоўваць. Даданне дадатковых схаваных слаёў паглыбіць здольнасць AI да навучання.

Трымайся! Якія схаваныя пласты? Нейроны ў нейроннай сетцы звычайна структураваны такім чынам, што кожны нейрон злучаны з усімі іншымі нейронамі ў пластах побач. Нейронная сетка звычайна складаецца з трох частак: уваходнага ўзроўню, аднаго або некалькіх схаваных слаёў і выхаднога ўзроўню.

Уводны пласт складаецца з інфармацыі, якую мы перадаем у сетку. Па меры таго, як інфармацыя праходзіць праз схаваныя пласты, вагі рэгулююць лічбы, і калі ўсе яны падводзяцца разам, у нас ёсць выхадны пласт і вынік ацэнкі. Больш схаваныя пласты могуць апрацоўваць больш незразумелыя дадзеныя, але патрабуюць большай вылічальнай магутнасці. Яны таксама ўскладняюць нам разуменне таго, што адбываецца ў схаваных пластах.

Як развіваюцца вагі паміж нейронамі? У пачатку ўсе яны аднолькавыя альбо генеруюцца з дапамогай генератара выпадковых лікаў. Але пры падаванні нейроннай сеткі сакрэтныя дадзеныя гэта паўплывае на вагу. Нейронная сетка высвятляе, якія пазіцыі важней за іншыя і якія злучаныя паміж сабой. Вельмі карыснай тэхналогіяй для гэтага з'яўляецца алгарытм зваротнага распаўсюджвання, які падае дадзеныя ў сетку назад ад выніковага ўзроўню да схаваных слаёў і гэтак далей. Ён падыходзіць нейроннай сетцы да дадзеных. У рэшце рэшт адрэгуляваныя вагі дазваляюць сетцы рабіць добрыя прагнозы.

Прыклад нейронавай сеткі для прагназавання продажаў марожанага:

Нашы дадзеныя аб продажах, днях і надвор'і наладзілі вага паміж нейронамі. Для таго, каб ацаніць, наколькі дакладныя прагнозы, нам спатрэбіцца тэставы набор дадзеных у дадатак да дадзеных, якія мы ўжо выкарыстоўвалі. Тэставы набор дадзеных складаецца з выпадкаў, якія нейронавая сетка яшчэ не бачыла. Іх вынікі скажуць нам, наколькі дакладныя нашы прагнозы.

Падчас навучання, карэкціроўкі і ацэнкі нейроннай сеткі нам трэба быць асцярожным, каб пераставіць яе да дадзеных. Навучальны набор дадзеных, магчыма, можа мець некаторыя звязаныя аспекты, якія на самай справе не звязаныя. Карэляцыя не супадае з прычыннасцю. Тут вы можаце знайсці такія пацешныя прыклады, як, напрыклад, спажыванне моцареллы і колькасць дактаратаў будаўнічай тэхнікі ідуць рука аб руку статыстычна, але на самой справе яны не маюць нічога агульнага. Вось чаму рэкамендуецца ўключаць у набор дадзеных толькі неабходную інфармацыю. І, вядома, якасць і колькасць дадзеных падрыхтоўкі важныя для дакладнасці.

У прыкладзе сартавання нашай функцыяй дзейнасці было назіранне, белы ці піксель. Звычайна інфармацыя пра выявы пераўтвараецца ў лічбы, якія патрабуюць кампутары па-іншаму. Калі малюнак чорна-белы, кожнаму пікселю будзе дадзена значэнне яркасці ад 0 (чорнае) да 255 (белае). Пікселі каляровага малюнка будуць мець тры значэнні RGB у дыяпазоне ад 0 да 255. Усе колеры на экране складаюцца пры змешванні чырвонага, зялёнага і сіняга святла. (Што гэта факт, якога я ведаю гадамі, і ён усё яшчэ адчувае сябе вельмі інтуітыўна зразумелым.)

У нашым вельмі простым прыкладзе лічбы заўсёды былі ў аднолькавых пазіцыях, што звычайна не бывае. Нават у базе малюнкаў пашпарта ўсе вочы не выстройваюцца. Тэхналогія, якая робіць распазнаванне малюнкаў значна больш хуткім і эфектыўным, з'яўляецца даданне слоя скруткі ў нейронную сетку. Гэта будзе шукаць пазнавальныя функцыі малюнка, такія як бардзюры ў пэўных напрамках, узоры ці рознакаляровыя шлейкі. Нос у сабакі можа быць адзін, пальцы ў чалавека могуць быць адзін, форма і тэкстура конусу марожанага могуць быць адзін. Тады не мае значэння, калі марозіва знаходзіцца на левай або правай баку малюнка, ці знаходзіцца ў вертыкальным становішчы або па дыяганалі і якога памеру мае конус. І вы можаце ўявіць, наколькі прасцей гэта робіць распазнаванне малюнка. Нейронныя сеткі са згорткавым пластом называюцца звілістымі нейроннымі сеткамі.

Для атрымання надзейных вынікаў нам спатрэбіцца велізарная колькасць малюнкаў як навучальны набор. Але, як і ў многіх рэчах, звязаных з праграмаваннем, нам не трэба пачынаць з нічога і зноў вынаходзіць кола. Мы можам выкарыстоўваць існуючыя бібліятэкі і базы дадзеных.

Адзін важны набор дадзеных - гэта стандартызаваная база почырку MNIST. Кожныя дзесяць гадоў ЗША прымаюць цэлы спіс усіх людзей, якія жывуць у яго межах. Гэта робіцца, калі ўсе запаўняюць папяровую анкету. У дадатак да збору важнай інфармацыі пра колькасць насельніцтва і структуру, ён таксама стварае шырокі спектр узораў почырку. З гэтых узораў была створана стандартызаваная база дадзеных для літар і лічбаў, і вы можаце выкарыстоўваць яе для навучання ці праверкі ІІ. На жаль, ён змяшчае толькі 26 літар англійскага алфавіта. З якім тыпам сутыкаецца часта выкарыстанне гатовых рэсурсаў. Але калі вы зацікаўлены ў тэставанні ІІ і нейронавых сетак, гэта, па меншай меры, месца для пачатку, і вы не абмежаваныя дадзенымі, якія вы можаце збіраць і вырабляць самастойна.

Тое, што вы павінны памятаць пра машыннае навучанне, гэта тое, што машыны не вывучаюць паняцці, яны толькі даведаюцца, як выяўляюцца гэтыя паняцці. Камп'ютэру не хапае багатай сеткі вопыту ў нас. З-за гэтага машынам па-ранейшаму цяжка адрозніць некаторыя выявы, якія для нас зразумелыя як дзень. І машына можа ведаць толькі тое, пра што казалі, каб даведацца. Хаця аўтамабіль, які займаецца самакіраваннем, не павінен ведаць, перад ім яблык ці сава. Перашкода - гэта перашкода і павінна ўхіляцца ад яе. Для аўтамабіля важна толькі тое.

Але ІІ можа навучацца, каб быць экспертам у выяўленні хвілінных, тонкіх адрозненняў. Як і аналіз ракавых скрынінгаў альбо дыягностыка дыябету па зменах крывяносных сасудаў вочных частак са значна больш дакладнымі і хуткімі вынікамі. Машына таксама ніколі не сумуе і не стамляецца ад паўтаральных задач, якія яны былі распрацаваны.

Так што, калі б мяне папрасілі ўзважыць, што ў канчатковым выніку лепш - распазнаванне чалавека ці штучнага малюнка - я не змагла б. Абодва яны вельмі і вельмі розныя.