Кой ще спечели? ;) (само се шегувам, това не е конкуренция)

Котки срещу кучета, използващи AI

Чували ли сте някога израза „Вали котки и кучета!“? Ако е така, вероятно сте приели факта, че това е просто фраза и нищо повече. Водата се излива отвън, а не от възхитителни животни.

Какво обаче, ако не беше просто фраза? Сигурен съм, че бихте (или поне аз щяхте) да изтичате до прозореца и да гледате разнообразието от животни. Персийски котки, булдоги, златни лабрадори, манчкини котки (да, това е ИСТИНСКО име, не ме гледайте), американски къдрици и др.

Нека бъдем истински Понякога не можете да кажете коя котка или кое куче е кое, но това не означава, че не ги обичате едно и също.

Но ... познайте какво?
Знаете ли компютри, онези наистина готини неща, които правят живота ни 1000x по-лесен? Компютрите не могат да разпознават CATS освен DOGS, още по-малко разграничават типовете. Поне не могат да ги разделят естествено.

Обаче .. може би бихме могли да им помогнем. Знам с какво бихме могли да им помогнем (и вероятно го правите и вие)! Много фин намек: В заглавието е

Сега, какво е AI? Изкуственият интелект, AI, е теорията и развитието на компютърните системи, способни да изпълняват задачи, които обикновено изискват човешката интелигентност, като визуално възприятие, разпознаване на реч, вземане на решения и превод между езици. Това е много бързо развиваща се индустрия.

Но нека се съсредоточим върху конкретна част. Конволюционни невронни мрежи.

Конволюционни невронни мрежи

Конволюционните невронни мрежи или CNN по същество класифицират изображения. Перфектно, нали? Веднъж няма да кажа „не“.

Добре, това беше някак неясно. Нека ги обясня по-задълбочено.

Конволюционните мрежи са вид невронна мрежа. Те класифицират изображенията, като са „обучени“. Ето снимка, показваща как работят!

Първо, има входен слой. Това е действителното изображение. След това го предаваме през слоевия слой и след това го прекарваме през макс. Конволюционният слой е мястото, където те сканират партиди от изображението и ги опростяват.

Слоят за максимално обединяване е мястото, където машината разделя изображението на четири квадрата и запазва най-голямата стойност във всеки квадрат, опростявайки изображението. След това повтаряме това още веднъж. След това тези слоеве се изравняват и класифицират.

Това звучи яко, нали? Но съм сигурен, че повечето от вас искат да знаят как да кодират това. Няма да повторя точния урок тук, защото вече има такъв и според мен, ако вече има такъв, който е безсмислен.

Ако сте планирали да го следвате, връзката е по-горе, тя ще бъде отворена, когато щракнете върху „точен урок“. Също PSA: Наборът от данни за това е на Kaggle. Не се измъчвайте, опитвайки се да го намерите.

Алгоритъмът (стъпките)

Ще говоря за алгоритъма! (Да, кодирането с влачене и пускане има ли някаква употреба, освен за изтезанието на невинни деца.) Не? Това е добре.

Първо започнах с дефинирането на всички стойности. Когато направих това, въведох и определих размера на изображението, моделите за тестване и обучение и степента на обучение на машината. Импортирах също технологията, която бих използвал (tqdm) и функции, които ще ми трябват.

Второ, направих функция, така че когато преминаха обучените изображения, компютърът знаеше кой е кой и ги разделя.

След това изградих функции за обработка на изображенията за обучение. Това е, за да се уверите, че когато изображенията преминат, те не биха седнали там и всъщност ще бъдат обработени.

След това създадох функция за обработка на данните за ИЗПИТВАНЕ. Това са данните, с които бих тествал точността на моя CNN!

След това проведох обучението, за да тествам машината си. Странична бележка: Наистина наистина помага, ако имате TQDM. Можете да видите колко далеч е тренировката и не е нужно да чакате сляпо. (Не, не получих спонсорство (желая)!)

Добре, така че това беше всичко само за въвеждането и преработката. Сега нека влезем в истинските неща (само се шегувам, че и тези неща са истински).

Сега изграждаме и тренираме действителната невронна мрежа.

Първо, създавам двупластова конволюционна невронна мрежа. Това е доста обясняващо, но има входни и изходни слоеве (да).

След това създавате изявление if, което ви позволява автоматично да запазите модела, след като тренировъчната ви тренировка е направена, защото не искаме да губим данните и резултатите.

След това е доста лесно. По същество просто тренирате модела си многократно, докато точността му е по-висока и след това можете да го тествате на стойности, за които не знаете истинската идентичност. Готино, нали?

Очарователно приложение

Както виждате, това беше сложно. За щастие, това има толкова много готини приложения (иначе не бих го издигнал или говорел толкова силно).

Статия, която може би скоро ще видите от мен, е за разграничаването на старинните клетки от другите клетки. За да цитирам от последната ми статия за AI,

„Това е огромен проблем. Старещите клетки са „зомбирани“ клетки, които бродят по тялото ви (по-добре се описват като клетки, които са в състояние между мъртви и живи). Те също имат голямо влияние върху стареенето и нямат специфични за тях биомаркери.

Според Google (био постоянният ни спасител) биомаркерите са измеримо вещество в организъм, чието присъствие е показателно за някакво явление като болест, инфекция или излагане на околната среда. Старещите клетки имат спиране на растежа и разширяването (понякога до точката, в която се удвояват по размер) като своите. "

Бихме могли да използваме конволюционна невронна мрежа, за да анализираме техните характеристики и да разграничим старещите клетки от другите клетки.

Друго нещо, което бихме могли да направим, използвайки CNN, е обработката на естествен език. Те могат да изпълняват много неща като анализ на настроенията. Те анализират текста и неговите настроения и намерения и след това тестват своя модел с немаркирани (към тях) данни.

Има толкова много готини неща, които бихме могли да направим с CNN и AI като цяло, внимавайте за готини разработки (самоуправляващи се автомобили, някой?).

Ключови заведения

  • С помощта на CNN можем да класифицираме изображения.
  • За да изпробвам това, следвах урок и класифицирах котки и кучета.
  • Това е първата стъпка в някои сериозно готини неща. Има толкова много завладяващи приложения на AI, неговото лудо!

Благодаря, че прочетохте моята статия! Ако ви хареса, разгледайте и другите ми статии!