Начало - Smart TV
Използване на невронни мрежи. Невронни мрежи: какво представляват и как марките ги използват

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

Не е тайна, че сега невронните мрежи се използват най-често във фотографията. Вече видяхме как могат да работят с анимация обикновен компютър, а картините излизат на пазара по-скъпо от творбите на известни художници. Не е изненадващо, че невронните мрежи са в основата на приложението FaceApp, което за броени дни придоби популярност по целия свят, щурмувайки магазините App StoreИ .

Илон Мъск след колонизирането на Марс

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

1.2 Области на приложение на невронните мрежи

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

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

1.3 Класификация на невронните мрежи

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

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

1) Изгражда се невронна мрежа, която решава определен клас проблеми,

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

Има няколко вида невронни мрежи. Тяхната класификация е представена на фигура 1.1

Фигура 1.1 Класификация на ANN


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

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

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

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

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

1.4 Структура и принципи на работа на невронна мрежа

Като модел на неврон беше избран двоичен прагов елемент, изчисляващ претеглената сума на входните сигнали и генериращ изходен сигнал със стойност 1, ако тази сума надвишава определена прагова стойност, и 0 в противен случай. Към днешна дата този модел не е претърпял големи промени. Бяха въведени нови видове функции за активиране. Структурният модел на технически неврон е представен на фигура 1.3

Фигура 1.3 Формален модел на изкуствен неврон

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

където φ е набор от сигнали, пристигащи на входа на неврона,

w i – тегловни коефициенти на неврона.

, (1.2)

където n е размерността на входния вектор,

w 0 – „невронно отклонение“, въведено за инициализиране на мрежата – свързано към фиксирания вход +1,

F – активираща функция на неврона.

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


Фигура 1.4 Блокова схемадвуслойна невронна мрежа.

Реализацията на модела на двуслойната предна невронна мрежа има следното математическо представяне:

, (1.7)

където n φ е размерността на вектора на входовете φ на невронната мрежа;

n h – брой неврони в скрития слой;

θ – вектор на регулируемите параметри на невронната мрежа, включително тегловни коефициенти и невронни отклонения (w ji, W ij)

f j (x) – функция на активиране на невроните на скрития слой;

F i (x) – функция на активиране на невроните на изходния слой.

Перцептронът е мрежа, състояща се от няколко последователно свързани слоя формални неврони (Фигура 1.3). На най-ниското ниво на йерархията има входен слой, състоящ се от сензорни елементи, чиято задача е само да приемат и разпространяват входната информация през мрежата. След това има един или, по-рядко, няколко скрити слоя. Всеки неврон на скрития слой има няколко входа, свързани към изходите на невроните от предишния слой или директно към входните сензори φ 1 ..φ n , и един изход. Невронът се характеризира с уникален вектор от регулируеми параметри θ. Функцията на неврон е да изчисли претеглената сума на своите входове с по-нататъшното си нелинейно преобразуване в изходен сигнал:




Експертни системи(А. Батуро), както и лекции на проф. А.Н. Горбан за невронни мрежи. Приложение 1. Плакати за защита на диплома. ТЕХНОЛОГИЯ ЗА ИЗВЛЕЧВАНЕ НА ЗНАНИЕ ОТ НЕВРОННИ МРЕЖИ: ¨ АПРОБАЦИЯ, ¨ СОФТУЕРЕН ДИЗАЙН, ¨ ИЗПОЛЗВАНЕ В ПСИХОЛИНГВИСТИКАТА ЦЕЛ НА РАБОТА ¨ апробация на гъвкава технология за извличане...

Способността на MP безкритично да екстраполира резултата се счита за негова слабост. RBF мрежите са по-чувствителни към „проклятието на размерността“ и изпитват значителни трудности, когато броят на входовете е голям. 5. МОДЕЛИРАНЕ НА НЕВРОННИ МРЕЖИ ЗА ПРОГНОЗИРАНЕ НА СТОЙНОСТТА НА НЕДВИЖИМИТЕ ИМОТИ 5.1 ​​Характеристики на прогнозирането на невронни мрежи в проблема за оценка на стойността на недвижими имоти Използването на невронни мрежи може да бъде...

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


Към 20.05.06 (ценова листа на Platan) – 2654 рубли. ПРИЛОЖЕНИЕ Г Изходни данни за изпълнение на организационно-икономическата част Тема на крайната квалификационна работа: Невронно-мрежова система за диагностика и управление на помпен агрегат за дълбоки кладенци. Място на преддипломен стаж: UGATU Подобна цена: 40 000 рубли. Цена на запитване: 35 000 rub. Търсено количество: 1 бр освобождаване от отговорност...

През първата половина на 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 Technology Distribution Григорий Бакунов вярва, че основата за разпространението на невронни мрежи през следващите пет години ще бъде способността на такива системи да бъдат възприети различни решения: „Основното нещо, което невронните мрежи сега правят за човек, е да го спасят от ненужно вземане на решения. Така че могат да се използват почти навсякъде, където не много интелигентни решения се вземат от жив човек. През следващите пет години това умение ще бъде използвано, което ще замени вземането на човешки решения с проста машина.

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

Учените разработват изкуствени невронни мрежи повече от 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 г. неврон Google мрежа AlphaGo победи един от най-добрите професионални играчи на 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. Ако някога сте взаимодействали с чатбот, има вероятност той да използва невронна мрежа, за да предложи подходящи отговори.

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

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

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

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

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

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

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

Стъпка 1. Невроните и методът на предаване напред

И така, какво е „невронна мрежа“? Нека изчакаме с това и първо да се справим с един неврон.

Невронът е като функция: приема няколко стойности като вход и връща една.

Кръгът по-долу представлява изкуствен неврон. Получава 5 и връща 1. Входът е сумата от трите синапса, свързани с неврона (три стрелки вляво).

От лявата страна на картината виждаме 2 входни стойности (в зелено) и отместване (в кафяво).

Входните данни могат да бъдат числени представяния на две различни свойства. Например, при създаване на филтър за нежелана поща те могат да означават наличието на повече от една дума, изписана с ГЛАВНИ БУКВИ и наличието на думата "Виагра".

Входните стойности се умножават по техните така наречени "тегла", 7 и 3 (маркирани в синьо).

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

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

Ако това беше спам филтър, фактът, че изход 1 би означавал, че текстът е маркиран като спам от неврона.

Илюстрация на невронна мрежа от Wikipedia.

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

Стъпка 2. Сигмоид

След като сте гледали уроците от Welch Labs, добра идея е да разгледате четвърта седмица от курса за машинно обучение на Coursera за невронни мрежи, за да ви помогне да разберете как работят. Курсът навлиза много дълбоко в математиката и е базиран на Octave, докато аз предпочитам Python. Поради това пропуснах упражненията и получих всички необходими знания от видеото.

Сигмоидът просто картографира вашата стойност (на хоризонталната ос) в диапазон от 0 до 1.

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

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

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

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

Стъпка 3. Метод на обратно разпространение

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

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

Процесът върви от край към начало, тъй като започваме от края на мрежата (вижте доколко предположението на мрежата се отклонява от истината) и се движим назад, променяйки теглата по пътя, докато стигнем до входа. За да изчислите всичко това ръчно, ще ви трябват познания по математически анализ. Khan Academy предлага добри курсове по смятане, но аз съм го учил в университета. Можете също така да не се притеснявате и да използвате библиотеки, които ще изчислят цялата математика вместо вас.

Екранна снимка от урока на Matt Mazur за обратно разпространение.

Ето три източника, които ми помогнаха да разбера този метод:

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

Стъпка 4. Създайте своя собствена невронна мрежа

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

Друга полезна статия беше



 


Прочетете:



Справочник диоди Мощни изправителни диоди 220V

Справочник диоди Мощни изправителни диоди 220V

Основната цел на токоизправителните диоди е преобразуване на напрежението. Но това не е единствената област на приложение на тези полупроводникови...

Как да нулирате паролата на администратора на Mac OS X без инсталационен диск

Как да нулирате паролата на администратора на Mac OS X без инсталационен диск

Въпреки двусмисленото заглавие, статията няма да е за хакване на акаунти в Mac OS X (може да прочетете за това, ако желаете...

Настройване на Shadow Defender

Настройване на Shadow Defender

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

Защо процесорът на моя компютър се нагрява много?

Защо процесорът на моя компютър се нагрява много?

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

feed-image RSS