Хто пераможа? ;) (жартую, гэта не канкурэнцыя)

Кошкі супраць сабак, якія выкарыстоўваюць AI

Вы калі-небудзь чулі фразу "Дождж ідзе на катоў і сабак!" Калі гэта так, вы, верагодна, прынялі той факт, што гэта проста фраза і нічога больш. Гэта вада, якая выліваецца на вуліцу, а не чароўныя жывёлы.

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

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

Але ... адгадайце, што?
Ці ведаеце вы камп'ютэры, тыя сапраўды класныя рэчы, якія палягчаюць наша жыццё ў 1000 разоў? Кампутары не могуць распазнаць CATS акрамя DOGS, а тым больш адрозніваць тыпы. Прынамсі, яны не могуць іх размясціць.

Аднак .. магчыма, мы маглі б ім дапамагчы. Я ведаю, чым мы маглі б дапамагчы ім (і вы, напэўна, таксама)! Вельмі тонкі намёк: справа ў назве.

Цяпер, што такое ІІ? Штучны інтэлект (AI) - гэта тэорыя і развіццё камп'ютэрных сістэм, здольных выконваць задачы, якія звычайна патрабуюць інтэлекту чалавека, такія як глядзельнае ўспрыманне, распазнаванне гаворкі, прыняцце рашэнняў і пераклад паміж мовамі. Гэта вельмі хутка развіваецца галіна.

Але спынімся на канкрэтнай частцы. Скруткавыя нейронныя сеткі.

Канвалюцыйныя нейронныя сеткі

Скруткавыя нейронныя сеткі альбо CNN па сутнасці класіфікуюць выявы. Ідэальна, так? Я ні разу не скажу "не".

Добра, гэта было неяк расплывіста. Патлумачу іх больш падрабязна.

Скруткавыя сеткі - гэта тып нейроннай сеткі. Яны класіфікуюць выявы па спецыяльнасці "навучанне". Вось малюнак, які паказвае, як яны працуюць!

Спачатку ёсць уводны пласт. Гэта фактычны вобраз. Затым мы прапускаем яго праз скручаны пласт, а потым пракладваем яго праз максімальны пласт аб'яднання. Звілісты пласт - гэта тое, дзе яны "скануюць" партыі выяваў і спрашчаюць іх.

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

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

Калі вы планавалі перайсці па ёй, спасылка вышэй, яна будзе адкрытая, калі вы націснеце "Дакладны ўрок". Таксама PSA: Набор дадзеных для гэтага ёсць на Kaggle. Не мучыце сябе, спрабуючы знайсці яго.

Алгарытм (этапы)

Я буду казаць пра алгарытм! (Так, кадаванне з дапамогай перацягвання мае нейкую карысць, за выключэннем катаванняў нявінных дзяцей.) Ха-ха, жартуйце? Не? Гэта нармальна

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

Па-другое, я зрабіў такую ​​функцыю, што калі навучаныя выявы прайшлі, кампутар ведаў, хто гэта, і раздзяляў іх.

Далей я пабудаваў функцыі для апрацоўкі малюнкаў для трэніровак. Каб пераканацца, што малюнкі прайшлі, яны проста не сядзелі б і былі апрацаваны.

Пасля гэтага я стварыў функцыю для апрацоўкі дадзеных TESTING. Гэта дадзеныя, з якімі я хацеў бы праверыць сваю CNN!

Пасля гэтага я прайшла трэніроўку, каб праверыць сваю машыну. Бакавая заўвага: Гэта сапраўды дапамагае, калі ў вас ёсць TQDM. Вы бачыце, як далёка трэніравацца, і вам не трэба слепа чакаць. (Не, я не атрымаў спонсарскую падтрымку (хачу)!)

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

Цяпер мы будуем і навучаем фактычную нейронную сетку.

Спачатку я ствараю двухслаёвую згорнутую нейронную сетку. Гэта даволі зразумела, але ёсць уводныя і выходныя пласты (так).

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

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

Займальнае прыкладанне

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

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

«Гэта вялікая праблема. Дарослыя клеткі - гэта зомбі-клеткі, якія блукаюць па вашым целе (лепш апісаны як клеткі, якія знаходзяцца ў стане паміж мёртвымі і жывымі). Яны таксама аказваюць вялікі ўплыў на старэнне і не маюць асаблівых біямаркераў.

Па дадзеных Google (наш пастаянны выратавальнік), биомаркеры - гэта вымяраемае рэчыва ў арганізме, прысутнасць якога сведчыць пра нейкія з'явы, такія як хвароба, інфекцыя альбо ўздзеянне навакольнага асяроддзя. Старыя клеткі маюць прыпынак росту і павелічэнне (часам да таго, як яны падвойваюцца ў памерах), як свае ".

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

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

Ёсць так шмат цікавых рэчаў, якія мы маглі б зрабіць з CNN і AI ўвогуле, сочыце за крутымі падзеямі (машыны з самакіраваннем, хто?).

Ключавыя вынасы

  • З дапамогай CNN мы можам класіфікаваць выявы.
  • Каб паспрабаваць гэта, я прытрымліваўся ўроку і класіфікаваў котак і сабак.
  • Гэта першы крок у некаторых сур'ёзна крутых рэчах. Ёсць так шмат займальных прыкладанняў ІІ, яго вар'яты!

Дзякуй, што прачыталі мой артыкул! Калі вам спадабалася, паглядзіце іншыя мае артыкулы!