Характеристики на изкуствена нервна система. Ние изучаваме невронните мрежи в четири стъпки. За какво са невронните мрежи?

През първата половина на 2016 г. светът чу за много разработки в областта на невронните мрежи - Google (Go мрежов плейър AlphaGo), Microsoft (редица услуги за идентификация на изображения), стартъпите MSQRD, Prisma и други демонстрираха своите алгоритми.

Отметки

Редакторите на сайта ви казват какво представляват невронните мрежи, за какво са необходими, защо са превзели планетата сега, а не години по-рано или по-късно, колко можете да спечелите от тях и кои са основните играчи на пазара. Експерти от MIPT, Yandex, Mail.Ru Group и Microsoft също споделиха своите мнения.

Какво представляват невронните мрежи и какви проблеми могат да решат?

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

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

Ръководителят на отдела за търсене на Mail.ru в Mail.Ru Group Андрей Калинин отбелязва, че невронните мрежи са способни да решават същите проблеми като другите алгоритми за машинно обучение, разликата е само в подхода към обучението.

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

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

В близко бъдеще (5-10 години), смята Шершулски, невронните мрежи ще се използват още по-широко:

Представете си селскостопански комбайн, чиито задвижващи механизми са оборудвани с много видеокамери. Прави по пет хиляди снимки в минута на всяко растение по своята траектория и с помощта на невронна мрежа анализира дали е плевел, дали е засегнато от болести или вредители. И всяко растение се третира индивидуално. фантастика? Вече не наистина. И след пет години това може да стане норма. - Влад Шершулски, Microsoft

Михаил Бурцев, ръководител на лабораторията за невронни системи и задълбочено обучение в MIPT Center for Living Systems, предоставя предварителна карта на развитието на невронните мрежи за 2016-2018 г.:

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

Директорът за разпространение на технологии в Yandex Григорий Бакунов смята, че основата за разпространението на невронните мрежи през следващите пет години ще бъде способността на такива системи да вземат различни решения: „Основното нещо, което невронните мрежи сега правят за човек, е да спестяват го от ненужно вземане на решения. Така че могат да се използват почти навсякъде, където не много интелигентни решения се вземат от жив човек. През следващите пет години това умение ще бъде използвано, което ще замени вземането на човешки решения с проста машина.

Защо невронните мрежи станаха толкова популярни точно сега?

Учените разработват изкуствени невронни мрежи повече от 70 години. Първият опит за формализиране на невронна мрежа датира от 1943 г., когато двама американски учени (Warren McCulloch и Walter Pitts) представиха статия за логическото смятане на човешките идеи и невронната активност.

Но доскоро, казва Андрей Калинин от Mail.Ru Group, скоростта на невронните мрежи беше твърде ниска, за да станат широко разпространени и затова такива системи бяха използвани главно в разработки, свързани с компютърното зрение, а в други области бяха използвани други алгоритми машинно обучение.

Трудоемка и отнемаща време част от процеса на разработване на невронната мрежа е нейното обучение. За да може една невронна мрежа да реши правилно възложените проблеми, е необходимо да „изпълни“ работата си върху десетки милиони набори от входни данни. Именно с появата на различни технологии за ускорено обучение Андрей Калинин и Григорий Бакунов свързват разпространението на невронните мрежи.

Основното, което се случи сега, е, че се появиха различни трикове, които позволяват създаването на невронни мрежи, които са много по-малко податливи на преквалификация - Григорий Бакунов, Yandex

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

Какъв е размерът на пазара на невронни мрежи?

„Много лесно за изчисляване. Можете да вземете всяка област, която използва нискоквалифициран труд, като агенти в кол център, и просто да извадите всички човешки ресурси. Бих казал, че говорим за многомилиарден пазар, дори в рамките на една държава. Лесно е да се разбере колко хора по света са заети на нискоквалифицирани работни места. Така че, дори да говоря много абстрактно, мисля, че говорим за пазар от сто милиарда долара по целия свят“, казва Григорий Бакунов, директор на технологичното разпространение в Yandex.

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

„Алгоритмите за машинно обучение са следващата стъпка в автоматизирането на всякакви процеси, в разработването на всеки софтуер. Следователно пазарът поне съвпада с целия софтуерен пазар, но по-скоро го надвишава, защото става възможно да се правят нови интелигентни решения, които са недостъпни за стария софтуер“, продължава Андрей Калинин, ръководител на отдела за търсене на Mail.ru в Mail. Ru група.

Защо разработчиците на невронни мрежи създават мобилни приложения за масовия пазар

През последните няколко месеца на пазара се появиха няколко нашумели развлекателни проекта, използващи невронни мрежи - това е популярната видео услуга, социалната мрежа Facebook и руски приложения за обработка на изображения (инвестиции от Mail.Ru Group през юни) и други.

Възможностите на техните собствени невронни мрежи бяха демонстрирани както от Google (технологията AlphaGo спечели шампиона в Go; през март 2016 г. корпорацията продаде на търг 29 картини, нарисувани от невронни мрежи и др.), така и от Microsoft (проектът CaptionBot, който разпознава изображения в снимки и автоматично генерира надписи за тях; проектът WhatDog, който определя породата на кучето от снимката; услугата HowOld, която определя възрастта на човек на снимка и т.н юни, екипът интегрира услуга за разпознаване на автомобили в приложението Avto.ru; през май тя създаде проекта за рисуване LikeMo.net в стила на известни художници;

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

„Игрите са характерна черта на нашето поведение като вид. От една страна, игровите ситуации могат да се използват за симулиране на почти всички типични сценарии на човешко поведение, а от друга страна, създателите на игри и особено играчите могат да получат много удоволствие от процеса. Има и чисто утилитарен аспект. Една добре проектирана игра не само носи удовлетворение на играчите: докато играят, те тренират алгоритъма на невронната мрежа. В края на краищата, невронните мрежи се основават на обучение чрез пример“, казва Влад Шершулски от Microsoft.

„На първо място, това се прави, за да се покажат възможностите на технологията. Наистина няма друга причина. Ако говорим за Prisma, тогава е ясно защо са го направили. Момчетата изградиха някакъв вид тръбопровод, който им позволява да работят с картини. За да демонстрират това, те избраха доста прост метод за създаване на стилизации. защо не Това е просто демонстрация на това как работят алгоритмите“, казва Григорий Бакунов от Yandex.

Андрей Калинин от Mail.Ru Group е на друго мнение: „Разбира се, това е впечатляващо от гледна точка на публиката. От друга страна, не бих казал, че развлекателните продукти не могат да се приложат в по-полезни области. Например, задачата за стилизиране на изображения е изключително актуална за редица индустрии (дизайн, компютърни игри, анимация са само няколко примера), а пълното използване на невронни мрежи може значително да оптимизира разходите и методите за създаване на съдържание за тях. ”

Основни играчи на пазара на невронни мрежи

Както отбелязва Андрей Калинин, като цяло повечето от невронните мрежи на пазара не се различават много една от друга. „Технологията на всички е приблизително еднаква. Но използването на невронни мрежи е удоволствие, което не всеки може да си позволи. За да обучите самостоятелно невронна мрежа и да проведете много експерименти върху нея, имате нужда от големи набори за обучение и парк от машини със скъпи видеокарти. Очевидно големите компании имат такива възможности“, казва той.

Сред основните играчи на пазара Калинин споменава Google и нейното подразделение Google DeepMind, което създаде мрежата AlphaGo, и Google Brain. Microsoft има свои разработки в тази област - те се извършват от лабораторията Microsoft Research. Създаването на невронни мрежи се извършва в IBM, Facebook (подразделение на Facebook AI Research), Baidu (Baidu Institute of Deep Learning) и др. В техническите университети по света се извършват много разработки.

Директорът на Yandex Technology Distribution Григорий Бакунов отбелязва, че интересни разработки в областта на невронните мрежи се срещат и сред стартиращите компании. „Бих си спомнил например компанията ClarifAI. Това е малък стартъп, създаден някога от хора от Google. Сега те са може би най-добрите в света в идентифицирането на съдържанието на картина. Такива стартиращи компании включват MSQRD, Prisma и други.

В Русия разработките в областта на невронните мрежи се извършват не само от стартиращи компании, но и от големи технологични компании - например холдингът Mail.Ru Group използва невронни мрежи за обработка и класифициране на текстове в Търсене и анализ на изображения. Компанията провежда и експериментални разработки, свързани с ботове и системи за разговор.

Yandex също създава свои собствени невронни мрежи: „По принцип такива мрежи вече се използват при работа с изображения и звук, но ние проучваме техните възможности в други области. Сега правим много експерименти в използването на невронни мрежи при работа с текст. Разработките се извършват в университети: Skoltech, MIPT, Московски държавен университет, Висше училище по икономика и др.

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

Например през 2016 г. невронната мрежа AlphaGo на Google победи един от най-добрите професионални играчи на Counter-Strike: Global Offensive в света с резултат 4-1. YouTube също обяви, че ще използва невронни мрежи, за да разбере по-добре своите видеоклипове.

Но какво е невронна мрежа? как става това И защо са толкова популярни в машинната обработка?

Компютърът като мозък

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

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

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

На фигурата по-долу примерът за паралелна обработка изисква пет различни процесора:

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

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

Способност за учене

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

Отговорът на I/O може да бъде толкова прост като „когато се натисне клавиш A“, „A се показва на екрана“ или по-сложен от извършването на сложна статистика. От друга страна, невронните мрежи не изискват същите алгоритми. Чрез механизми за обучение те могат по същество да разработят свои собствени алгоритми. Машинни алгоритми, за да се уверите, че работят правилно.

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

От неврони до възли

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


Всеки от кръговете се нарича „възел“ и симулира единичен неврон. Отляво са входните възли, в средата са скритите възли, а отдясно са изходните възли.

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

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

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

От синапсите до връзките

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


Както можете да видите, теглото на връзка "B" е по-високо от това на връзка "A" и "C". Да кажем, че скритият възел "4" ще се задейства само ако получи общ вход от "2" или повече. Това означава, че ако "1" или "3" се задействат поотделно, тогава "4" няма да се задейства, но "1" и "3" заедно ще задействат възела. Възел "2" може също да инициира самия възел чрез връзка "B".

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

Използвайки връзките и теглата по-горе, възел 4 може да се задейства само ако температурата е под -18 C и вятърът е над 48 km/s, или ще се задейства, ако шансът за сняг е по-голям от 70 процента. Температурите ще бъдат подавани към възел 1, ветровете към възел 3 и вероятността за сняг към възел 2. Сега възел 4 може да вземе всичко това предвид, когато определя какъв сигнал да изпрати към изходния слой.

По-добре от простата логика

Разбира се, тази функция може просто да се реализира с помощта на прости И/ИЛИ порти. Но по-сложните невронни мрежи, като тези по-долу, са способни на много по-сложни операции.


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

Докато мрежата, показана по-горе, е проста, дълбоките невронни мрежи могат да имат много скрити слоеве и стотици възли.


Коригиране на грешка

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

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

Програмистът предоставя изображение като вход и вижда какво излиза от изходните възли. Ако мрежата отговори със "самолет", програмистът казва на компютъра, че това е неправилно.

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

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

Непрекъснато усъвършенстване

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

Може да бъде толкова просто като разпознаване на образи или толкова сложно като игра на CS:GO.

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

В допълнение към процеса, описан по-горе, който се нарича контролирано обучение, има още един метод: обучение без надзор.

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

Въпроси на дълбочината

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

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


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

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

Приложения за невронни мрежи

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

За какво можем да използваме тези вълнуващи системи?

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

Така че, когато кажете „OK Google“, вашият iPhone пуска речта ви през невронна мрежа, за да разбере какво казвате. Може би има друга невронна мрежа, която се научава да предсказва какво е вероятно да поискате.

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

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

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

Бъдещето на невронните мрежи

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

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

Знаете ли за някакви интересни приложения на невронните мрежи? Вие самият имате ли опит в работата с тях? Какво ви вълнува най-много в тази технология? Споделете вашите мисли в коментарите по-долу!

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

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

Как започна всичко

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

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

Как работи невронната мрежа?

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

Какво представляват невронните мрежи и какво могат да правят?

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

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

Невроните са разделени на групи, всяка група изчислява дадена й характеристика. През 1993 г. френският учен Yann LeCun показа на света LeNet 1, първата конволюционна невронна мрежа, която може бързо и точно да разпознава числа, написани на хартия на ръка. Вижте сами:

Днес конволюционните невронни мрежи се използват главно за мултимедийни цели: те работят с графики, аудио и видео.

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

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

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

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

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

Комбинирани невронни мрежи (конволюционни + рекурентни)

Такива невронни мрежи са в състояние да разберат какво има в изображението и да го опишат. И обратно: рисувайте изображения според описанието. Най-яркият пример беше демонстриран от Кайл Макдоналд, който взе невронна мрежа на разходка из Амстердам. Мрежата моментално определи какво има пред нея. И почти винаги точно:

Невронните мрежи постоянно се самообучават. Чрез този процес:

1. Skype въведе възможности за симултанен превод за 10 езика. Сред които за момент има руски и японски - едни от най-трудните в света. Разбира се, качеството на превода изисква сериозно подобрение, но самият факт, че сега можете да общувате с колеги от Япония на руски и да сте сигурни, че ще бъдете разбрани, е вдъхновяващ.

2. Yandex създаде два алгоритъма за търсене, базирани на невронни мрежи: „Palekh“ и „Korolev“. Първият помогна да се намерят най-подходящите сайтове за нискочестотни заявки. "Палех" проучи заглавията на страниците и сравни тяхното значение със значението на заявките. Въз основа на Палех се появи Корольов. Този алгоритъм оценява не само заглавието, но и цялото текстово съдържание на страницата. Търсенето става все по-точно и собствениците на сайтове започват да подхождат по-интелигентно към съдържанието на страницата.

3. SEO колеги от Yandex създадоха музикална невронна мрежа: тя композира поезия и пише музика. Неврогрупата носи символичното име Neurona и вече има своя първи албум:

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

5. YouTube използва невронни мрежи за класиране на видеоклипове и според два принципа наведнъж: една невронна мрежа изучава видеоклипове и реакции на публиката към тях, другата провежда проучване на потребителите и техните предпочитания. Ето защо препоръките на YouTube са винаги на място.

6. Facebook работи активно върху DeepText AI, комуникационна програма, която разбира жаргона и почиства чатовете от неприличен език.

7. Приложения като Prisma и Fabby, изградени върху невронни мрежи, създават изображения и видеоклипове:

Colorize възстановява цветовете в черно-бели снимки (баба изненада!).

MakeUp Plus избира перфектното червило за момичета от реална гама от истински марки: Bobbi Brown, Clinique, Lancome и YSL вече работят.


8.
Apple и Microsoft непрекъснато надграждат своите невронни Siri и Contana. Засега те само изпълняват нашите заповеди, но в близко бъдеще ще започнат да поемат инициативата: да дават препоръки и да предвиждат нашите желания.

Какво още ни очаква в бъдеще?

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

Селскостопански сектор

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

Лекарство

В момента Microsoft работи активно върху създаването на лек за рак. Учените се занимават с биопрограмиране - опитват се да дигитализират процеса на възникване и развитие на тумори. Когато всичко работи, програмистите ще могат да намерят начин да блокират такъв процес и по аналогия ще бъде създадено лекарство.

Маркетинг

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

Електронна търговия

Електронната търговия ще бъде внедрена навсякъде. Вече не е необходимо да влизате в онлайн магазина чрез връзка: можете да купите всичко, където го видите, с едно кликване. Например, вие четете тази статия няколко години по-късно. Много харесвате червилото на екранната снимка от приложението MakeUp Plus (вижте по-горе). Кликвате върху него и отивате направо в количката. Или гледайте видео за най-новия модел Hololens (очила за смесена реалност) и веднага направете поръчка директно от YouTube.

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

P.S. Zinaida Falls е невронна мрежа Yandex, която пише поезия. Оценете работата, която машината е написала, след като е била обучена от Маяковски (правописът и пунктуацията са запазени):

« това»

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

Впечатляващо, нали?

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

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

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

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

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

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

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

И така, първата част на доклада ще бъде посветена на конволюционните невронни мрежи. Ще ви разкажа как работят конволюционната невронна мрежа (CNN) и разпознаването на изображения, използвайки пример от лицевото разпознаване. Ще ви разкажа малко за повтарящите се невронни мрежи (RNN) и обучението с подсилване, използвайки примера на системи за дълбоко обучение.

Като нестандартно приложение на невронни мрежи, ще говоря за това как CNN работи в медицината за разпознаване на вокселни изображения, как невронните мрежи се използват за разпознаване на бедността в Африка.

Какво представляват невронните мрежи

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

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

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

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

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

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

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

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

Тук виждате примери за сложността на стимулите, различните двуизмерни форми, които се разпознават в области V2, V4 и различни части на темпоралните полета при маймуни макак. Провеждат се и редица експерименти с ЯМР.

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

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

Компютърно зрение

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

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

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

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

В случай на компютърно зрение се нуждаем от още повече скрити слоеве. И едва тогава системата смислено ще разпознае това, което вижда.

И така, ще ви кажа какво се случва по време на разпознаването на изображения на примера на лицата.

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

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

Сега не става така. Ние разделяме нашето изображение или на пиксели, или на определени пачове: 2x2, 3x3, 5x5, 11x11 пиксела - както е удобно за създателите на системата, в която те служат като входен слой към невронната мрежа.

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

Условно всички тези части могат да бъдат разделени на три класа, ще ги обозначим с X, W и Y, където X е нашето входно изображение, Y е набор от етикети и трябва да получим нашите тегла. Как изчисляваме W?

Предвид нашите X и Y, това изглежда просто. Но това, което е обозначено със звездичка, е много сложна нелинейна операция, която, за съжаление, няма обратна. Дори при 2 дадени компонента на уравнението е много трудно да се изчисли. Следователно трябва постепенно, чрез проба и грешка, като избираме теглото W, да се уверим, че грешката намалява колкото е възможно повече, за предпочитане така, че да стане равна на нула.

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

Между другото, нито една невронна мрежа, с която работих, не постигна грешка, равна на нула, но работи доста добре.

Това е първата мрежа, спечелила международното състезание ImageNet през 2012 г. Това е така нареченият AlexNet. Това е мрежата, която първа обяви, че съществуват конволюционни невронни мрежи и оттогава конволюционните невронни мрежи никога не са отстъпвали позициите си във всички международни състезания.

Въпреки факта, че тази мрежа е доста малка (има само 7 скрити слоя), тя съдържа 650 хиляди неврони с 60 милиона параметъра. За да се научим итеративно да намираме необходимите тегла, имаме нужда от много примери.

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

Най-големите бази данни, съществували преди това време, бяха PASCAL VOC, която имаше само 20 категории обекти, и Caltech 101, разработена в Калифорнийския технологичен институт. Последният имаше 101 категории и това беше много. Тези, които не успяха да намерят обектите си в нито една от тези бази данни, трябваше да разплатят своите бази данни, което, ще кажа, е ужасно болезнено.

През 2010 г. обаче се появи базата данни ImageNet, която съдържаше 15 милиона изображения, разделени в 22 хиляди категории. Това реши нашия проблем с обучението на невронни мрежи. Сега всеки, който има академичен адрес, може лесно да отиде на уебсайта на базата, да поиска достъп и да получи тази база за обучение на техните невронни мрежи. Отговарят доста бързо, според мен още на следващия ден.

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

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

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

Архитектура на дълбока невронна мрежа

Условно може да се раздели на 2 части: учещи и неучещи.

Черното показва тези части, които не се учат; всички други слоеве са способни да учат. Има много дефиниции за това какво има във всеки конволюционен слой. Една от приетите нотации е, че един слой с три компонента е разделен на етап на навиване, етап на детектора и етап на обединяване.

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

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

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

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

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

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

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

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

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

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

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

Класически проблеми на конволюционните невронни мрежи

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

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

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

Разпознаване на лица

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

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

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

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

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

Малко статистики. При идентифициране, при търсене в 10 хиляди снимки, имаме точност около 95%, в зависимост от качеството на базата данни и 99% точност на проверка. И освен това, този алгоритъм е много устойчив на промени - не е нужно да гледаме в камерата, можем да имаме някои пречещи предмети: очила, слънчеви очила, брада, медицинска маска. В някои случаи дори можем да преодолеем невероятните предизвикателства на компютърното зрение на очилата и маската.

Много бързо търсене, отнема 0,5 секунди за обработка на 1 милиард снимки. Разработихме уникален индекс за бързо търсене. Можем да работим и с нискокачествени изображения, получени от камери за видеонаблюдение. Всичко това можем да обработваме в реално време. Можете да качвате снимки през уеб интерфейса, през Android, iOS и да търсите сред 100 милиона потребители и техните 250 милиона снимки.

Както вече казах, взехме първо място в състезанието MegaFace - аналог на ImageNet, но за лицево разпознаване. Провежда се от няколко години, миналата година бяхме най-добрите сред 100 отбора от цял ​​свят, включително Google.

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

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

Това се използва за разпознаване на естествен език, обработка на видео, дори се използва за разпознаване на изображения.

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

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

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

През 2005 г. на състезанието Emotion Recognition in the Wild екип от Монреал представи повтаряща се система специално за разпознаване на емоции, която изглеждаше много проста. Имаше само няколко конволюционни слоя и работеше изключително с видео. Тази година те добавиха и аудио разпознаване и агрегирани данни кадър по кадър, получени от конволюционни невронни мрежи, данни за аудио сигнали с работа на повтаряща се невронна мрежа (с връщане на състоянието) и получиха първо място в състезанието.

Учене с подсилване

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

Факт е, че в предишните два случая използваме бази данни. Имаме или данни от лица, или данни от снимки, или данни с емоции от видеоклипове. Ако нямаме това, ако не можем да го заснемем, как можем да научим робот да взима предмети? Правим това автоматично - не знаем как работи. Друг пример: компилирането на големи бази данни в компютърните игри е трудно и не е необходимо; може да се направи много по-лесно.

Вероятно всеки е чувал за успеха на обучението за задълбочено укрепване в Atari и Go.

Кой е чувал за Atari? Е, някой е чул, добре. Мисля, че всички са чували за AlphaGo, така че дори няма да ви казвам какво точно се случва там.

Какво се случва в Atari? Архитектурата на тази невронна мрежа е показана вляво. Тя се учи, като играе сама със себе си, за да получи максимална награда. Максималната награда е най-бързият възможен резултат от играта с най-висок възможен резултат.

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

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

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

Ето експериментите, които е провел върху своите 14 роботизирани ръце.

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

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

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

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

Е, учени от Станфорд наскоро излязоха с много необичайно приложение на невронна мрежа на CNN за прогнозиране на бедността. Какво направиха?

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

Учените събраха дневни и нощни карти от сателити и ги подадоха към невронна мрежа за определен период от време.

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

Тук виждате резултатите от прогнозата, изградена от невронната мрежа. Прогнозата е направена при различни резолюции. И виждате - последният кадър - реални данни, събрани от правителството на Уганда през 2005 г.

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

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

И последното приложение, за което бих искал да говоря, е семантичното сегментиране на 3D изображения в медицината. Като цяло образната диагностика е сложна област, в която се работи много трудно.

Причините за това са няколко.

  • Имаме много малко бази данни. Не е толкова лесно да се намери снимка на мозък, особено повреден, и също така е невъзможно да се вземе отвсякъде.
  • Дори и да имаме такава снимка, трябва да вземем медик и да го принудим ръчно да постави всички многопластови изображения, което отнема много време и е изключително неефективно. Не всички лекари имат ресурсите да направят това.
  • Изисква се много висока точност. Медицинската система не може да греши. При разпознаването например не се разпознаваха котки - нищо страшно. И ако не сме разпознали тумора, това вече не е много добре. Тук изискванията за надеждност на системата са особено строги.
  • Изображенията са в триизмерни елементи – воксели, а не пиксели, което допълнително усложнява разработчиците на системата.
Но как се получи този проблем в този случай? CNN имаше двоен поток. Едната част обработваше по-нормална разделителна способност, другата малко по-лоша резолюция, за да намалим броя на слоевете, които трябва да обучим. Поради това времето, необходимо за обучение на мрежата, беше леко намалено.

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

Ето пример за определяне на обема на плацентата.

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

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

Е, вероятно ще го опакова тук. много ви благодаря

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

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

Диаграма на типичен изкуствен неврон

Един неврон може да има много входове, но само един изход. Човешкият мозък съдържа приблизително неврони и всеки неврон може да има хиляди връзки с други. Входните сигнали на неврона се умножават по тегловни коефициенти и се добавят, за да се получи общият вход на неврона - аз:
ориз. 1. Типичен изкуствен неврон Функцията, която свързва изхода на неврон с неговите входове, се нарича функция за активиране. Има формата на сигмоидна функция θ . Формализирането на невронния отговор е, че оригиналният сигнал се изпраща до една от границите при получаване на много малки и много големи входни сигнали. В допълнение, всеки неврон е свързан с прагова стойност - θ , който във формулата за изчисляване на изходния сигнал се изважда от общия входен сигнал. В резултат на това изходният сигнал на неврон - O често се описва по следния начин: Структура на мрежата за обратно разпространение" src="https://libtime.ru/uploads/images/00/00/01/2014/06/27/set -s- obratnym-rasprostraneniyem.png" alt="Мрежова структура за обратно разпространение" width="450" height="370"> Рис. 2. Сеть с обратным распространением !} Мрежа за обратно разпространение, като правило, е разделен на три сегмента, въпреки че могат да се образуват и допълнителни сегменти. Сегментите (сегмент), разположени между входните и изходните сегменти, се наричат ​​скрити сегменти, тъй като само входните и изходните сегменти се възприемат визуално от външния свят. Мрежа, която оценява стойността на логическа операция XOR, произвежда верен изход само когато не всички нейни входове са верни или не всичките й входове са неверни. Броят на възлите в скрит сектор може да варира в зависимост от целта на проекта.

Характеристики на невронните мрежи

Трябва да се отбележи, че невронните мрежи не изискват програмиране в обичайния смисъл на думата. За обучение на невронни мрежи се използват специални алгоритми за обучение на невронни мрежи, като обратно разпространение и обратно разпространение. Програмистът „програмира“ мрежата, като определя входове и съответните изходи. Мрежата се учи чрез автоматично регулиране на теглата за синаптичните връзки между невроните. Коефициентите на тегло, заедно с праговите стойности на невроните, определят естеството на разпространението на данни през мрежата и по този начин задават правилния отговор на данните, използвани в процеса на обучение. Обучението на мрежата да получава правилните отговори може да отнеме много време. Колко зависи от това колко изображения трябва да бъдат научени по време на мрежовото обучение, както и от възможностите на използвания хардуер и поддържащ софтуер. Въпреки това, след като обучението приключи, мрежата е в състояние да предоставя отговори с висока скорост. По свой начин архитектура изкуствена невронна системасе различава от другите изчислителни системи. В класическата информационна система се реализира способността за свързване на дискретна информация с елементи на паметта. Например, обикновено една информационна система съхранява данни за конкретен обект в група от съседни елементи на паметта. Следователно възможността за достъп и манипулиране на данни се постига чрез създаване на връзка едно към едно между атрибутите на даден обект и адресите на клетките на паметта, в които те се съхраняват. За разлика от такива системи, моделите на изкуствени невронни системи се разработват въз основа на съвременни теории за функционирането на мозъка, според които информацията се представя в мозъка с помощта на тегла. Въпреки това, няма пряка връзка между конкретна стойност на коефициента на тегло и конкретен елемент от съхранената информация. Това разпределено представяне на информация е подобно на технологията за съхранение и представяне на изображения, използвана в холограмите. Според тази технология линиите на холограмата действат като дифракционни решетки. С тяхна помощ при преминаване на лазерен лъч се възпроизвежда съхраненото изображение, но самите данни не се интерпретират директно.
Невронната мрежа като средство за решаване на проблем. Невронна мрежадейства като приемливо средство за решаване на проблем, когато има голямо количество емпирични данни, но няма алгоритъм, който би могъл да осигури достатъчно точно решение с необходимата скорост. В този контекст технологията за представяне на данни от изкуствена невронна система има значителни предимства пред другите информационни технологии. Тези предимстваможе да се формулира по следния начин:
  1. Паметта на невронната мрежа е устойчива на грешки. При премахване на отделни части от невронната мрежа настъпва само намаляване на качеството на информацията, но не и пълното й изчезване. Това се случва, защото информацията се съхранява в разпределен вид.
  2. Качеството на информацията в невронната мрежа, която подлежи на намаляване, намалява постепенно, пропорционално на частта от мрежата, която е била премахната. Няма катастрофална загуба на информация.
  3. Данните в невронната мрежа се съхраняват естествено с помощта на асоциативна памет. Асоциативната памет е памет, в която е достатъчно да се търсят частично представени данни, за да се възстанови напълно цялата информация. Това е разликата между асоциативната памет и обикновената памет, при която данните се получават чрез посочване на точния адрес на съответните елементи на паметта.
  4. ви позволяват да извършвате екстраполация и интерполация въз основа на информацията, съхранена в тях. Това означава, че обучението ви позволява да дадете на мрежата възможността да търси важни характеристики или връзки в данните. След това мрежата е в състояние да екстраполира и идентифицира връзки в новите данни, които получава. Например, в един експеримент невронна мрежа беше обучена с помощта на хипотетичен пример. След завършване на обучението мрежата придоби способността да отговаря правилно на въпроси, за които не е предвидено обучение.
  5. Невронните мрежи са пластични. Дори след премахване на определен брой неврони, мрежата може да бъде преквалифицирана до основното си ниво (разбира се, ако в нея са останали достатъчно неврони). Тази особеност е характерна и за човешкия мозък, в който отделни части могат да бъдат увредени, но с течение на времето с помощта на обучението се постига първично ниво на умения и знания.
Благодарение на тези характеристики, изкуствените невронни системи стават много привлекателни за използване в роботизирани космически кораби, оборудване за петролната промишленост, подводни превозни средства, оборудване за контрол на процеси и други технически устройства, който трябва да функционира дълго време без ремонт в неблагоприятна среда. Изкуствените невронни системи не само решават проблема с надеждността, но също така дават възможност за намаляване на оперативните разходи поради тяхната пластичност. Като цяло обаче изкуствените невронни системи не са много подходящи за създаване на приложения, които изискват сложни математически изчисления или намиране на оптимално решение. В допълнение, използването на изкуствена невронна система няма да бъде най-добрият вариант, ако има алгоритмично решение, което вече е предоставило положителни резултати поради практическо приложение за решаване на подобни проблеми. Свързана статия:

Споделете