За тези, които са чували за невронни мрежи и искат общо разбиране, за да не останат на тъмно.

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

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

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

Има доста уроци и обяснения, които се опитват да разгледат какво е невронна мрежа и как работи, но нека се върнем към основите!

Предполагам, че човекът, който чете това, знае какво е компютър и проста математика + статистика като събиране, изваждане, деление или умножение, вариация и вероятност. Те също имат ограничени познания за видовете плодове и какво представляват фуниите и филтрите. Ако искате да преминете към извършване, отидете в долната част на страницата.

Лесен случай на употреба

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

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

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

Вие настройвате фуниите да могат да откриват вода, масло и сол.

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

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

Визуален/базиран случай на използване

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

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

Поглеждате кошницата и може би изхвърляте съдържанието и го сортирате на това, което знаете „банани“ и това, което не знаете „друго“.

Тогава да кажем, че се обаждате на приятел, за да ви помогне да разберете какво е другото нещо; казват, че е „Apple“, вие казвате добре, но искате първо да го тествате.

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

Какво стана? Знаехте едно нещо, опитахте се да разберете неизвестно нещо сами, получихте нова информация, проверихте новата информация, за да сте сигурни, че разбирате, и след това опитахте отново.

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

  1. Налице е някакво основно разбиране
  2. Новата информация се филтрира и етикетира
  3. Разбирането „учи“
  4. Проверяваш, че наистина разбираш

Кога е подходящо време за използване на невронна мрежа?

Кога е добър подход за използване на невронна мрежа? Една проста рамка, която използвам, за да реша, е:

  1. Какъв е броят налични проби в момента, от които да изградите своя модел? Ще расте ли или ще бъде статичен, имате ли да кажем 1000 вариации на всеки клас данни, ако имате 10 вариации, невронната мрежа няма да има достатъчно данни, за да отчете дребните нюанси, за да класифицира правилно новата информация.
  2. Колко неща се опитвате да идентифицирате? Два ли са или повече? Две може да са твърде малко, за да има смисъл една невронна мрежа (уговорка — ако двата класа имат голям брой подвариации, тогава невронната мрежа може да е точно необходимото нещо, например модел на ходене на човек от акселерометър срещу други движения — щракнете тук за публикация за линейна регресия, където е предоставено задълбочено обяснение за това как да преминете от прост линеен модел към използване на по-сложни методи, като например невронни мрежи); тъй като мрежата се опитва да идентифицира незначителни нюанси между повече опции; така че незначителните разлики стават определящи атрибути.
  3. Колко вариации присъстват във вашите данни; да кажем, че се опитвате да идентифицирате дали едно изображение има лице в него или не (това добро приложение за невронни мрежи ли е?)... не би ли било по-добре да използвате подход, базиран на функции?; след това можете да използвате невронна мрежа, за да съпоставите усъвършенстваните лица
  4. Кой ще го използва? За един човек ли е или за 1 милион; както беше отбелязано по-горе, невронните мрежи процъфтяват с огромни количества правилно етикетирани данни и огромни вариации.

Щракнете тук, за да отидете на демонстрационния уебсайт, можете да добавите точки към диаграма, за да симулирате добавянето на нови данни и да видите как невронната мрежа реагира доста добре, за да получите визуално разбиране за това как човек приема данни и ви показва как се коригира . Заслугата е на Andrej Karpathy за това, че прави невронните мрежи по-разбираеми и достъпни в мрежата.

Ако искате да научите повече, можете да направите „така тук“ от демонстрационния проект на Google tensorflow.