Урок за задълбочено обучение за начинаещи: Основи на невронните мрежи

⚡ Умно обобщение

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

  • 🔘 Многослойна архитектура: Входен слой, два или повече скрити слоя и изходен слой правят мрежата дълбока.
  • ☑️ Signal сила: Теглото, отклонението и активиращата функция решават какво всеки неврон предава на следващия слой.
  • Двуфазен контур: Нелинейната трансформация създава модел, след което метод, базиран на производни, го подобрява, като се повтаря, докато точността стане приемлива.
  • 🧪 Четири архитектури: Мрежи с предварителна връзка, рекурентни мрежи, конволюционни мрежи и агенти за обучение с подсилване.
  • 🛠️ Къде се отплаща: Кредитно оценяване във финансите, скрининг на кандидати в HR, анализ на настроенията в кол център в маркетинга.
  • Реалните ограничения: Цена на етикетиране, апетит за огромни набори от данни и модели, които се противопоставят на обяснението на разбираем език.

Урок за задълбочено обучение за начинаещи: Основи на невронните мрежи

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

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

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

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

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

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

Процес на дълбоко обучение

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

  • Разберете проблема
  • Идентифицирайте данните
  • Изберете алгоритъм за дълбоко обучение
  • Обучете модела
  • Тествайте модела
Пететапен процес на дълбоко обучение - от разбиране на проблема до тестване на модела

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

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

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

Обучението протича в две фази:

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

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

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

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

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

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

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

Мрежите първо се групират по брой скрити слоеве.

Плитка невронна мрежа: Плитката невронна мрежа има само един скрит слой между входа и изхода.

Дълбока невронна мрежа: Дълбоките невронни мрежи имат повече от един скрит слой. Например, моделът на GoogLeNet за разпознаване на изображения наброява 22 слоя.

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

Видове мрежи за задълбочено обучение

Няколко архитектури са станали стандартни, всяка от които е оформена от вида данни, които обработва. Диаграмата по-долу, публикувана от Института Азимов, картографира по-широкото семейство.

Диаграма на архитектурите на невронните мрежи, включително перцептрон, предварителна връзка, RBF, RNN, LSTM, GRU и автоенкодери

Диаграма на архитектурите на невронните мрежи, от единичния перцептрон до вариантите на LSTM, GRU и автоенкодер

Feed-forward невронни мрежи

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

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

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

Блокова схема на рекурентна невронна мрежа с изход, върнат обратно в мрежата като памет

RNN изпраща изхода си обратно към себе си, което е това, което дава на мрежата паметта

Например, ако задачата е да се предскаже следващата дума в изречението „Искате ли...?“, мрежата действа по следния начин:

  • RNN невроните получават сигнал, който сочи към началото на изречението.
  • Мрежата получава думата „Do“ като вход и генерира вектор от числа. Този вектор се връща обратно към неврона, за да осигури памет на мрежата. Този етап помага на мрежата да запомни, че е получила „Do“ и че го е получила на първа позиция.
  • Мрежата действа подобно и при следващите думи. Тя приема думата „ти“ и след това „искам“. Състоянието на невроните се актуализира при получаване на всяка дума.
  • Последният етап настъпва след получаване на думата „a“. Невронната мрежа предоставя вероятност за всяка английска дума, която би могла да завърши изречението. Добре обучена RNN вероятно присвоява висока вероятност на „café“, „drink“, „burger“ и подобни думи.

Обичайни употреби на RNN

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

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

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

CNN архитектура с конволюция, ReLU и обединяване на етапи на обучение на характеристики, последвани от класификация с изравняване, напълно свързана и softmax

Обучение на характеристики чрез конволюция, ReLU и обединяване; класификация чрез изравняване, напълно свързан и softmax

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

Например, ако задачата е да се предвиди надпис на изображение:

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

Укрепване на обучението

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

Някои от най-известните алгоритми са:

  • Q-обучение
  • Дълбока Q мрежа
  • Състояние-действие-награда-държавно действие (SARSA)
  • Дълбок детерминистичен политически градиент (DDPG)

Таблицата по-долу обобщава кога всяка архитектура е подходяща.

Archiтекстура Данни, които отговарят Отличителна черта Типична задача
Захранване напред Табличен вход с фиксирана дължина Без цикли; информацията се движи само напред Оценяване и опростена класификация
Рецидивиращ (RNN) Последователности и времеви редове Контекстните възли му дават памет Предсказване на текст, аудио, прогнозиране
Конволюционен (CNN) Неструктурирани данни, подобни на мрежа Конволюция и обединяване extracхарактеристики Класификация и надписване на изображения
Укрепване на обучението Среда, а не набор от данни Учи се от награди и наказания Игрови агенти, роботика, контрол

Примери за приложения за дълбоко обучение

Тези архитектури вече се произвеждат в много различни индустрии:

AI във финансите

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

Underwrite е финтех компания, предоставяща решение с изкуствен интелект за лица, вземащи кредитни решения. underwrite.ai използва изкуствен интелект, за да открие кой кандидат е по-вероятно да изплати заем – подход, който според компанията превъзхожда традиционните системи за оценка.

AI в HR

Under Armour, компания за спортно облекло, revolutионизира наемането и модернизира опита на кандидатите с помощта на изкуствен интелект. Under Armour се сблъска с нарастващ интерес през 2012 г. и получаваше средно над 30 000 кандидатури на месец. Четенето на всички тези кандидатури и последващото започване на процеса на подбор и интервюиране отнемаше твърде много време. Дългият процес на наемане и адаптация на хората повлия на способността на Under Armour да осигури пълен персонал, модернизация и готовност на магазините си за работа.

По това време Under Armour разполагаше с всички „задължителни“ HR технологии, като например транзакционни решения за снабдяване, кандидатстване, tracкрал и адаптация, но тези инструменти не бяха достатъчни сами по себе си. Under Armour избра HireVue, доставчик на HR решения с изкуствен интелект, както за интервюта при поискване, така и за интервюта на живо. Резултатите бяха поразителни: компанията съобщи, че е съкратила времето за попълване на позиции с 35%, като същевременно е повишила качеството на наетия персонал.

AI в маркетинга

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

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

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

Защо Deep Learning е важно?

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

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

Ограничения на дълбокото обучение

Тези резултати идват с реални разходи.

Етикетиране на данни

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

Получете огромни набори от данни за обучение

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

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

Обяснете проблем

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

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

Въпроси и Отговори

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

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

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

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

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

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

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

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

Обобщете тази публикация с: