Skillception

Какво е deep learning?

Deep learning (дълбоко обучение) е техника за машинно обучение (machine learning). Която учи компютрите да правят това, което е естествено […]

deep learning техника

Deep learning (дълбоко обучение) е техника за машинно обучение (machine learning). Която учи компютрите да правят това, което е естествено за хората: учене чрез пример. Deep learning е ключова технология зад автомобилите без шофьор. Която им позволява да разпознават знака за спиране или да различават пешеходец от светофар. Това е ключът към гласовия контрол в потребителски устройства като телефони, таблети, телевизори и безжични микрофони. Дълбокото обучение привлича много внимание напоследък и има основателна причина. Постига резултати, които преди това не са били възможни.

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

Защо deep learning има значение? Как deep learning постига толкова впечатляващи резултати?

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

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

1. Deep learning изисква големи количества етикетирани данни. Например, разработката на автомобили без водачи изисква милиони изображения и хиляди часове видео.

2. Deep learning изисква значителна изчислителна мощ. Високопроизводителните графични процесори имат паралелна архитектура, която е ефективна за задълбочено обучение. Когато се комбинира с клъстери или облачни изчисления. Това дава възможност на екипите за разработка да намалят времето за обучение за мрежа. За deep learning от седмици на часове или по -малко.

Примери за deep learning по време на работа

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

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

Аерокосмос и отбрана: Deep learning се използва за идентифициране на обекти от спътници, които локализират области от интерес. Както и идентифициране на безопасни или опасни зони за войските.

Медицински изследвания: Изследователите на рака използват deep learning за автоматично откриване на ракови клетки. Екипи от UCLA са създали усъвършенстван микроскоп, който дава набор от данни с големи размери. Използвани за обучение на приложение за deep learning за точно идентифициране на раковите клетки.

Индустриална автоматизация: Deep learning помага за подобряване на безопасността на работниците около тежките машини чрез автоматично откриване. Когато хора или предмети са на опасно разстояние от машините.

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

Как работи deep learning?

Повечето методи за deep learning използват архитектури на невронни мрежи. Поради което моделите за дълбоко обучение често се наричат ​​дълбоки невронни мрежи.

Терминът „deep“ обикновено се отнася до броя на скритите слоеве в невронната мрежа. Традиционните невронни мрежи съдържат само 2-3 скрити слоя, докато дълбоките мрежи могат да имат до 150.

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

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

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

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

Каква е разликата между machine learning и deep learning?

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

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

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

При machine learning ръчно избирате функции и класификатор, за да сортирате изображения. С deep learning техника извличането на функции и стъпките за моделиране са автоматични.

Избор между machine learning и deep learning.

Машинното обучение предлага разнообразие от техники и модели, които можете да изберете въз основа на вашето приложение. Размера на данните, които обработвате, и вида на проблема, който искате да разрешите. Успешното приложение за deep learning изисква много голямо количество данни (хиляди изображения) за обучение на модела. Както и графични процесори или графични единици за бърза обработка на вашите данни.

Когато избирате между machine learning и deep learning, помислете дали имате високопроизводителен графичен процесор и много етикетирани данни. Ако нямате нито едно от тези неща, може да има повече смисъл да използвате machine learning вместо deep learning. Дълбокото обучение обикновено е по-сложно, така че ще ви трябват поне няколко хиляди изображения, за да получите надеждни резултати. Наличието на високопроизводителен графичен процесор означава, че моделът ще отнеме по-малко време за анализ на всички тези изображения.

Как да създаваме и обучаваме модели за deep learning?

Трите най-често срещани начина, по които хората използват deep learning за извършване на класификация на обекти, са:

Обучение от Scratch

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

Трансферно обучение

Повечето приложения за deep learning техника използват подхода на трансферно обучение, процес, който включва фина настройка на предварително обучен модел. Започвате със съществуваща мрежа, като AlexNet или GoogLeNet, и въвеждате нови данни, съдържащи неизвестни досега класове. След като направите няколко пощипвания в мрежата, вече можете да изпълнявате нова задача. Като например категоризиране само на кучета или котки вместо на 1000 различни обекта. Това също има предимството, че се нуждае от много по-малко данни (обработка на хиляди изображения, а не милиони). Така че времето за изчисление пада до минути или часове.

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

Извличане на функции.

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

Ускоряване на моделите за deep learning техника с графични процесори.

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

Приложения за deep learning

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

Разберете повече за това Как да си поставим професионални и лични граници