Да вляза
Всички компютърни тайни за начинаещи и професионалисти
  • Компютърът се рестартира сам - разбираме причините, поради които компютърът постоянно се рестартира, какво да правим
  • Как да разберете собственика по номера на картата Как да намерите собственика по номера на картата
  • Услуга Megafon TV - Как да гледате любимите си канали на всички устройства
  • Cheat кодове за GTA San Andreas: Grand Theft Auto на компютър
  • Кодове за "GTA: White City" за оръжия и други функции на съдържанието
  • Изтеглете приложението Blizzard
  • Какво учат невронните мрежи в Русия? Митът за невронните мрежи и изкуствения интелект Невронните мрежи и изкуственият интелект в действие

    Какво учат невронните мрежи в Русия?  Митът за невронните мрежи и изкуствения интелект Невронните мрежи и изкуственият интелект в действие

    Невроинформатиката и неврокибернетиката са една от областите на изкуствения интелект. защото " изкуственият интелект е клон на компютърните науки, чиято цел е да разработи софтуер и хардуер, които позволяват решаването на традиционно интелектуални проблеми“, а тези задачи включват създаване на интелигентни роботи, оптимален контрол, обучение и самообучение, разпознаване на образи, прогнозиране и др. – това са именно задачите, за които невронните мрежи се използват най-широко.

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

    Алгоритмите на невронните мрежи се използват успешно за решаване на сложни практически проблеми, традиционно считани за интелектуални: разпознаване на лица (и други проблеми на разпознаване на изображения и обекти в изображението), управление на безпилотни летателни апарати, медицинска диагностика на заболявания,...

    Разбира се, технологиите и методите на изкуствения интелект поставят основния акцент върху ситуации, които имат една или повече от следните характеристики:

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

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

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

    Те са проектирани да наподобяват естествените невронни мрежи на човешката нервна система.

    Изкуствени невронни мрежи

    Изобретателят на първия невронен компютър, д-р Робърт Хехт-Нилсен, дефинира невронната мрежа по следния начин: „Невронната мрежа е изчислителна система, състояща се от редица прости, тясно взаимосвързани обработващи елементи, които обработват информация чрез техния динамичен отговор на външни влияния."

    Основна структура на изкуствените невронни мрежи (ANM)

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

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

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

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


    Видове изкуствени невронни мрежи

    Има два типа топологии на изкуствени невронни мрежи – с предна връзка и с обратна връзка.

    Информационният поток е еднопосочен. Устройството предава информация на други звена, от които не получава информация. Няма обратна връзка. Те имат фиксирани входове и изходи.


    Тук са разрешени вериги за обратна връзка.

    Как работят изкуствените невронни мрежи

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

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

    Машинно обучение в изкуствени невронни мрежи

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

    Обучение - включва учител, който изпраща обучителна проба в мрежата, на която учителят знае отговорите. Мрежата сравнява своите резултати с отговорите на учителя и коригира своите тегла.

    Обучението без надзор е необходимо, когато няма набор за обучение с известни отговори. Например при проблеми с групиране, т.е. разделяне на набор от елементи на групи според някои критерии.

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

    Алгоритъм за обратно разпространение

    Бейсови мрежи (BN)

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

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

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

    Единственото ограничение за дъгите в BN е, че не можете да се върнете към възел просто като следвате посоката на дъгата. Следователно BNN се нарича ациклична графика.

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

    Къде се използват невронните мрежи?

      Те са в състояние да изпълняват задачи, които са прости за хората, но трудни за машините:

      Космонавтика - автопилот на самолет;

      Automotive - автомобилни системи за насочване;

      Военни - проследяване на целта, автопилот, разпознаване на сигнал/образ;

      Електроника – прогнозиране, анализ на повреди, машинно зрение, гласов синтез;

      Финансови - оценка на недвижими имоти, кредитни консултанти, ипотека, портфолио на търговско дружество и др.

      Обработка на сигнали - Невронните мрежи могат да бъдат обучени да обработват аудио сигнала.

    Машинното обучение е широк термин, който обхваща всички моменти, когато се опитвате да научите машина да се подобрява. По-конкретно, това се отнася за всяка система, в която производителността на компютъра при дадена задача става по-добра само чрез повече опит с тази задача. Невронните мрежи са пример за машинно обучение, но те не са единственият начин, по който компютърът може да се учи.

    Например, един алтернативен метод за машинно обучение се нарича обучение с подсилване. При този метод компютърът изпълнява задача и след това оценява нейния резултат. Ако, например, компютър спечели игра на шах, той присвоява печеливша стойност на серията от ходове, които използва по време на играта. След изиграване на милиони игри, системата може да определи кои ходове е най-вероятно да доведат до победа въз основа на резултатите от предишни игри.

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

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

    Изкуственият интелект засега е с префикса „умен“


    Точно както невронните мрежи са форма на машинно обучение, машинното обучение е форма на изкуствен интелект. Но категорията „изкуствен интелект“ е толкова зле дефинирана, че фразата няма практическо значение. Да, извиква образи на технологично напреднало бъдеще, но в действителност все още не сме дори близо до него. Някога OCR беше твърде сложно за машина, но сега приложение на телефона ви може да сканира документи и да ги превръща в текст. Наричането на това подвиг на изкуствения интелект е някак неуместно.

    Причината основните възможности на телефона да се считат за изкуствен интелект е, че всъщност има два вида AI. Слаб или тесен AI описва всяка система, предназначена да изпълнява тесен набор от задачи. Например Google Assistant или Siri, макар и доста мощен AI, все още изпълняват доста тесен списък от задачи. Те получават гласови команди и връщат отговори или стартират приложения. Изследванията на изкуствения интелект подхранват тези функции, но те се считат за „слаби“.

    За разлика от това, силният AI - известен също като изкуствен общ интелект или "пълен AI" - е система, която може да изпълнява всяка човешка задача. И тя не съществува. Следователно всяко „умно“ приложение все още е слаб изкуствен интелект.

    И въпреки че смисълът може да е доста неясен, практическите изследвания в областта на изкуствения интелект са толкова полезни, че вероятно вече са се превърнали в част от ежедневието ви. Всеки път, когато телефонът ви автоматично запомни къде сте паркирали, разпознае лица във вашите снимки, получи предложения за търсене или автоматично групира всичките ви снимки от уикенда, вие по някакъв начин се докосвате до изкуствения интелект. До известна степен „изкуственият интелект“ всъщност просто означава, че приложенията ще бъдат малко по-умни, отколкото сме свикнали. Етикетът „AI“ сега едва ли означава нещо разбираемо от практическа гледна точка.

    Почти винаги, когато терминът „AI“ се появи в популярната преса, това е просто фантастичен термин за невронни мрежи, за да направи статията по-ясна за читателя (а също и да привлече повече читатели). Очевидно такава култура вече се е развила сред наблюдателите: ако видите невронна мрежа, напишете, че това е „AI“.

    В терминологията: AI е програма, която може да учи (натрупва знания и опит независимо в процеса на своята работа) и ефективно да използва опита си в бъдеще, за да изпълни по-добре определена задача (задачата, за която е създадена тази програма). Ако е специализирана програма (например за игра на шах), тя се нарича „слаб“ AI, тъй като нейната способност да разбира (натрупва опит) е специално създадена и адаптирана за шах. Вече са създадени много слаби ИИ. Например Alpha Zero, базиран на невронни мрежи и научил се да играе шах от нулата, сега е претендент за титлата най-силен шахматист в света (играе на приблизително същото ниво и може би дори надминава най-добрите създадени шах програми чрез класическо програмиране, базирано на шахматната теория). Терминът „силен AI“ (или „AI с общо предназначение“) е запазен за хипотетична програма, която е способна да учи различни задачи сама (тоест няма специално програмиране за конкретна задача). Към момента няма такава програма и не се очаква скорошната й поява (в следващите 5 години). Разработки в тази посока са в ход (включително и от споменатите тук автори на Alpha Zero).

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

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

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

    Преди по-малко от година прочетох интервю с ръководителя на Deep Mind (считана за водеща (или поне една от водещите) компания в тази област). Той спомена, че AI на човешко ниво, според него, ще бъде създаден „след десетки години“ (цитат). Сега е невъзможно да се каже по-точно.

    Позволете ми отново да ви напомня, че в момента не е създаден дори „прост“ (въпреки че това всъщност не е просто) AI с общо предназначение, който да има самосъзнание и интересни аналитични способности. Затова сега е рано да се говори за това.

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

    Например, някои професионални шахматисти гледат играта на Alpha Zero и казват, че не играе като типична шахматна програма. Един от професионалистите сравни нейната игра с играта на някакво много интелигентно извънземно създание (Гари Каспаров, един от най-добрите играчи в историята на шаха, например, каза, че нейната игра е нещо средно между играта на добра компютърна програма и добър човек шахматист).

    Така че изглежда, че посоката е избрана правилно: повтарящи се невронни мрежи. За да се постигне хуманоиден ИИ, е вероятно няколко нови типа мрежи да бъдат разработени наведнъж и успешно комбинирани заедно. Това изисква огромно количество изчисления, експерименти, опити и грешки. А също и огромно количество изчислителна мощност. Процесът на обучение на такава колосална невронна мрежа ще изисква много компютри. Толкова много. Дори обучението на сравнително проста мрежа като Alpha Zero изисква ресурси, еквивалентни на десетилетия работа на персонален компютър. Една невронна мрежа, способна да мисли като човек, ще изисква стотици (едва ли толкова малко), хиляди или дори милиони пъти повече изчисления за своето обучение. Такава изчислителна мощ обаче не е непреодолима бариера. Основното е, че има енергия, има я достатъчно, можете да добавите колкото искате процесори и памети, тук няма проблем.

    Отговор

    Коментирайте

    В тази глава ще говоря в общи линии за предмета на този учебник (и уебсайт) - изкуствените невронни мрежи. Какви са те, какви предимства имат и т.н.

    Популярност

    Темата за машинното обучение, интелигентните алгоритми и изкуствения интелект е изключително популярна в наши дни. Това може лесно да се види, като гледате новините на различни IT портали. Статистиката потвърждава това. Графиките по-долу показват данни от услугата Google Trends от 2005(9) до днес.

    Интернет търсене за машинно обучение (свят):

    Новини по същата тема (свят):

    Новини за изкуствения интелект (свят):

    Новини за изкуствен интелект (Русия):

    Както виждате, темата е известна.

    Терминология

    Нека разберем терминологията. Какво е изкуствен интелект, машинно обучение и изкуствени невронни мрежи. Как са свързани?

    Да започнем с най-важното, с изкуствения интелект.

    Изкуствен интелект (AI)(Изкуствен интелект, AI):

    1. наука за създаване на интелигентни (умни) машини (най-често компютърни програми).

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

    И двете определения по-горе съдържат фразата „интелигентна машина (система)“. Нека го обясня по-подробно. Интелигентната машина е система (като програма), способна да изпълнява задачи, считани за творчески.

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

    Сега е време да разберем термина „машинно обучение“.

    Машинно обучение(Машинно обучение) е подраздел на изкуствения интелект, който изучава различни начини за конструиране на алгоритми за обучение.

    Алгоритмите за обучение се отнасят до алгоритми, които се променят (обучават) по някакъв начин в зависимост от входните данни.

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

    Изкуствени невронни мрежи (ANN)(Изкуствени невронни мрежи, ANN) - опростени модели на биологични невронни мрежи.

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

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

    За ANN като цяло

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

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

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

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

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

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

    Имаме нужда от модел. Ние не сме загрижени за жизнената активност на неврона. Чувствайте се свободни да премахнете всичко, което е свързано с това: ядрото, мембраните, рибозомите и всичко, всичко, всичко. Във всеки случай ще го програмираме и той просто няма да може да умре.

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

    Изкуствен неврон
    (Изкуствен неврон) е опростен модел на биологичен неврон.

    Биологичните невронни мрежи са колекция от биологични неврони. В такива мрежи обаче има и много ненужни аспекти за обработка на сигнала (системи за пречистване на отпадъчни продукти и др.). Освен това има много неврони в една биологична невронна мрежа.

    Нека опростим отново: ние премахваме ненужните химически и биологични компоненти и също така намаляваме броя на невроните.

    Така логично стигаме до друга дефиниция на ANN.

    Изкуствена невронна мрежа (ANN)- набор от изкуствени неврони, взаимодействащи помежду си.

    Защо работят невронните мрежи?

    Нека разгледаме един важен въпрос на уводно ниво. Защо работят невронните мрежи (т.е. могат да решават проблеми)? Отговорът на този въпрос не е най-очевидният.

    Най-често срещаният отговор: всеки неврон преобразува сигнала по свой начин и тъй като има много такива неврони (милиарди), входният сигнал се преобразува в правилния изходен сигнал.

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

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

    Синапс(Синапсис) - кръстовището на изхода на един неврон и входа на друг, където сигналът се усилва/отслабва.

    На снимката по-долу синапсите са подчертани в цвят (в горния център на снимката можете да видите един от синапсите в детайли). червен цвят - главният неврон на снимката. Жълто - изходи на съседни неврони.

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

    Всеки биологичен неврон има хиляди входове. Всеки от тях е свързан с изходите на други неврони. Това означава, че имаме хиляди синапси на неврон. Нека умножим това число по милиардите неврони в биологичните невронни мрежи (в мозъка има 85 милиарда неврони!). Получаваме огромен брой синапси.

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

    Ето как се осъществява трансформацията на множество входни сигнали в правилното изходно решение.

    Ниво на сложност на невронните мрежи

    Вече казах по-горе, че намаляваме броя на невроните за изкуствените невронни мрежи (не можем да симулираме милиарди неврони). Колко ще намалим този брой? Обърнете внимание на снимката по-долу.

    Тази картина е доста конвенционална, но отразява добре степента на опростяване. На хоризонталната ос имаме броя на синапсите (мислете за това като за сложността на мрежата). Скоростта на работа на системите се отбелязва по вертикалната мрежа.

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

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

    Къде се използват невронните мрежи?

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

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

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

    Проблеми с ниска/средна сложност, които знаете точно как да разрешите:

    • решаване на просто уравнение
    • покажете прозореца на програмата на екрана
    • отпечатайте документ на принтер

    Такива проблеми се решават с помощта на обикновени компютърни програми. Нищо сложно или необичайно. Няма проблем.

    Проблеми с ниска/средна сложност, които са частично известни как да бъдат решени:

    • проста прогноза
    • изчисляване на грешки
    • приблизително решение на уравнения

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

    Проблеми с висока сложност, за които не е ясно как да се решат:

    • разпознаване на шаблон
    • гласово разпознаване
    • комплексни прогнози

    Ще се спра по-подробно на този тип задачи.

    Ето вие вървите по улицата. Около вас има много минувачи. Гледаш ги и моментално разпознаваш лицата им. Този процес не повдига никакви въпроси за вас. Просто си много добре обучен да го правиш.

    И сега сте си поставили задача - напишете компютърна програма, която разпознава лица от дадена снимка. Може да е още по-просто. Опитайте да начертаете на хартия приблизителен алгоритъм за разпознаване на лица. Няма да успеете. И всичко това, защото разпознавате лица на несъзнателно ниво и не можете да контролирате несъзнаваното. Правите го, но не знаете как.

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

    И тук на помощ идват невронните мрежи. Като модел на биологични невронни мрежи, те могат да решават подобни проблеми.

    Невронните мрежи се използват за решаване на проблеми, алгоритъмът за решение на които неизвестен.

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

    Предимства на невронните мрежи

    В допълнение към възможността за решаване на нов клас проблеми, невронните мрежи имат редица значителни предимства.

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

    От тук е много просто да се обяснят предимствата на ANN, просто като се изведат от свойствата на биологичните невронни мрежи.

    Устойчивост на шум от входни данни

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

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

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

    Невронните мрежи са в състояние да функционират правилно, дори ако входните данни са шумни.

    Адаптация към промяна

    Представете си, че сте математик. Решавате уравнения с помощта на някои компютърни програми.

    Тази сутрин вашата програма беше актуализирана: към нея беше добавена нова функционалност и интерфейсът се промени малко.

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

    Отново, това свойство на биологичните невронни мрежи се простира до ANN. Да предположим, че имате невронна мрежа, която прогнозира покачването/спадането на цените на борсата. Но постепенно, ден след ден, пазарната ситуация се променя. Ако вашата мрежа не се адаптира към тези промени, тя ще спре да дава верни отговори в рамките на една седмица. Но изкуствените невронни мрежи, учейки се от данни, се адаптират към околната среда всеки път.

    Невронните мрежи могат да се адаптират към променящите се среди.

    отказоустойчивост

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

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

    Невронните мрежи са в състояние да функционират нормално дори при доста сериозни повреди.

    Изключително бърза производителност

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

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

    Невронните мрежи решават проблеми по-бързо от повечето други алгоритми.

    Недостатъци на невронните мрежи

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

    Обаче не е така. Невронните мрежи имат редица сериозни недостатъци, които също могат да бъдат извлечени от биологичните невронни мрежи.

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

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

    Нека ги изброим.

    Отговорът винаги е приблизителен

    Да започнем с човешкия мозък.

    Погледнете снимката по-долу и се опитайте да разберете какво пише. Най-вероятно тази задача няма да ви създаде много трудности.

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

    Не го забелязвате, но всъщност изграждате някаква вероятностна диаграма в главата си и казвате, че по-вероятно(несъзнателно избира най-вероятния резултат), „но“ е написано в правоъгълник 2. В случая с първия правоъгълник казвате, че не е ясно какво има там(вероятностите са почти равни), но, аз мисля(изберете произволно), че там е написана буквата „о“.

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

    Невронните мрежи не са в състояние да предоставят точни и недвусмислени отговори.

    Вземане на решения на няколко етапа

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

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

    Следователно е напълно безполезно да се иска от невронна мрежа да докаже теорема. Това изисква верига от последователни стъпки.

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

    Невронните мрежи не могат да решат проблем стъпка по стъпка.

    Изчислителни задачи

    Този недостатък на изкуствените невронни мрежи до известна степен е следствие от предишните два недостатъка.

    Обърнете внимание на снимката по-долу. Как да принудите мрежата да извърши тези трансформации?

    Първият проблем е последователността. Необходимо е по някакъв начин, използвайки само мрежовите входове, да му посочите коя част от израза е под корена и коя част е отляво на знака за равенство. И как да предам самия знак за равенство?

    Да приемем, че по някакъв начин сте успели да доставите тези данни в мрежата

    Вторият проблем са последователните стъпки. Недостатъкът вече е описан по-горе.

    А черешката на тортата е невъзможността да се получат точни резултати. Това може да си представим по следния начин. Вие преподавате невронна мрежа:

    – 2 + 3 = ?
    = 983
    - Грешка! = 5.
    2 + 3 = ?
    = 5
    - Правилно!
    2 + 4 = ?
    = 5
    - Грешка! = 6.
    2 + 4 = ?
    = 5.5

    И това винаги ще се случва.

    Невронните мрежи не са способни да решават изчислителни проблеми.

    заключения

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