Хочете знати, як працює глибоке навчання? Ось короткий посібник для всіх.

Штучний інтелект (ШІ) та машинне навчання (ОУ) - одні з найгарячіших тем зараз.

Термін "ШІ" повсякденно розповсюджується. Ви чуєте, як розробники-початківці кажуть, що хочуть навчитися ШІ. Ви також чуєте керівників, які хочуть впровадити ШІ у свої послуги. Але досить часто багато з цих людей не розуміють, що таке ШІ.

Прочитавши цю статтю, ви зрозумієте основи AI та ML. Що ще важливіше, ви зрозумієте, як працює «Глибоке навчання», найпопулярніший тип МЗ.

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

Передумови

Першим кроком до розуміння того, як працює Глибоке навчання, є розуміння відмінностей між важливими термінами.

Штучний інтелект проти машинного навчання

Штучний інтелект - це тиражування людського інтелекту в комп’ютерах.

Коли дослідження ШІ вперше розпочалися, дослідники намагалися відтворити людський інтелект для конкретних завдань, таких як гра в гру.

Вони запровадили величезну кількість правил, які комп’ютер повинен дотримуватися. Комп’ютер мав конкретний перелік можливих дій і приймав рішення на основі цих правил.

Машинне навчання - це здатність машини навчатись, використовуючи великі набори даних замість жорстко закодованих правил.

ML дозволяє комп’ютерам вчитися самостійно. Цей тип навчання використовує переваги обчислювальної потужності сучасних комп’ютерів, які можуть легко обробляти великі масиви даних.

Навчання під контролем проти навчання без нагляду

Контрольоване навчання передбачає використання маркованих наборів даних, які мають вхідні та очікувані результати.

Коли ви тренуєтесь за допомогою штучного інтелекту за допомогою контрольованого навчання, ви вводите його та повідомляєте очікуваний результат.

Якщо вихідний результат, створений ШІ, неправильний, він відкоригує свої обчислення. Цей процес робиться ітеративно над набором даних, доки ШІ більше не робить помилок.

Прикладом контрольованого навчання є ШІ з прогнозуванням погоди. Він вчиться передбачати погоду, використовуючи історичні дані. Ці навчальні дані мають вхідні дані (тиск, вологість, швидкість вітру) і вихідні (температура).

Навчання без нагляду - це завдання машинного навчання з використанням наборів даних без зазначеної структури.

Коли ви тренуєтесь за допомогою штучного інтелекту, використовуючи навчання без нагляду, ви дозволяєте йому робити логічну класифікацію даних.

Прикладом навчання без нагляду є ШІ для прогнозування поведінки веб-сайту електронної комерції. Він не навчиться, використовуючи маркований набір даних входів і виходів.

Натомість він створить власну класифікацію вхідних даних. Це покаже вам, які користувачі найімовірніше купуватимуть різні товари.

Тепер, як працює глибоке навчання?

Тепер ви готові зрозуміти, що таке глибоке навчання та як воно працює.

Глибоке навчання - це метод машинного навчання . Це дозволяє нам навчити ШІ прогнозувати результати, враховуючи набір входів. Для навчання ШІ можна використовувати як контрольоване, так і неконтрольоване навчання.

Ми дізнаємось, як працює глибоке навчання, побудувавши гіпотетичну службу оцінки ціни на літак . Ми будемо тренувати його, використовуючи метод навчання під контролем.

Ми хочемо, щоб наш оцінювач цін на літак передбачав ціну, використовуючи такі вхідні дані (ми виключаємо зворотні квитки для простоти):

  • Аеропорт походження
  • Аеропорт призначення
  • Дата відправлення
  • Авіакомпанія

Нейронні мережі

Давайте заглянемо всередину мозку нашого ШІ.

Як і тварини, мозок нашого оцінювача ІІ має нейрони. Вони представлені колами. Ці нейрони взаємопов’язані.

Нейрони згруповані в три різні типи шарів:

  1. Вхідний рівень
  2. Приховані шари
  3. Вихідний рівень

Вхідний шар приймає вхідні дані. У нашому випадку ми маємо чотири нейрони у вхідному шарі: аеропорт походження, аеропорт призначення, дата вильоту та авіакомпанія. Вхідний рівень передає вхідні дані першому прихованому шару.

Ці приховані шари виконувати математичні обчислення на наших входах. Однією з проблем створення нейронних мереж є визначення кількості прихованих шарів, а також кількості нейронів для кожного шару.

" Глибоке " в глибокому навчанні означає, що має більше одного прихованого шару.

Вихідний шар повертає вихідні дані. У нашому випадку це дає нам прогноз ціни.

То як обчислює прогноз ціни?

Тут починається магія глибокого навчання .

Кожен зв’язок між нейронами пов’язаний з вагою . Ця вага диктує важливість вхідного значення. Початкові ваги встановлюються випадковим чином.

При прогнозуванні ціни на квиток на літак дата вильоту є одним із найважчих факторів. Отже, дати від’їзду нейронних зв’язків матимуть велику вагу.

Кожен нейрон має функцію активації. Ці функції важко зрозуміти без математичних міркувань.

Простіше кажучи, однією з його цілей є "стандартизація" виходу з нейрона.

Як тільки набір вхідних даних проходить через усі рівні нейронної мережі, він повертає вихідні дані через вихідний рівень.

Нічого складного, так?

Навчання нейронної мережі

Навчання ШІ - найважча частина глибокого навчання. Чому?

  1. Вам потрібен великий набір даних .
  2. Вам потрібна велика кількість обчислювальної потужності .

Для нашого кошторису квитків на літак нам потрібно знайти історичні дані про ціни на квитки. І через велику кількість можливих аеропортів та комбінацій дат вильоту нам потрібен дуже великий перелік цін на квитки.

Щоб навчити ШІ, нам потрібно надати йому вхідні дані з нашого набору даних і порівняти його виходи з вихідними з набору даних. Оскільки ШІ все ще не навчений, його результати будуть неправильними.

Після того, як ми пройдемо весь набір даних, ми можемо створити функцію, яка показує нам, наскільки неправильними були виходи ШІ з реальних виходів. Ця функція називається функцією витрат.

В ідеалі ми хочемо, щоб наша функція витрат дорівнювала нулю. Ось тоді результати нашого штучного інтелекту збігаються з результатами набору даних.

Як ми можемо зменшити функцію витрат?

Ми міняємо ваги між нейронами. Ми могли б випадково змінювати їх, поки наша функція витрат не буде низькою, але це не дуже ефективно.

Натомість ми використаємо техніку, яка називається Градієнтний спуск.

Градієнтний спуск - це техніка, яка дозволяє нам знайти мінімум функції. У нашому випадку ми шукаємо мінімум функції витрат.

Це працює, змінюючи ваги невеликими кроками після кожної ітерації набору даних . Обчислюючи похідну (або градієнт) функції витрат при певному наборі ваги, ми можемо побачити, в якому напрямку знаходиться мінімум.

Щоб мінімізувати функцію витрат, вам потрібно багато разів переглядати набір даних. Ось чому вам потрібна велика кількість обчислювальної потужності.

Оновлення ваг за допомогою градієнтного спуску здійснюється автоматично . Це магія глибокого навчання!

Після того, як ми навчили наш ШІ оцінювач цін на літак, ми можемо використовувати його для прогнозування майбутніх цін.

Де я можу дізнатись більше?

Існує багато інших типів нейронних мереж: згорткові нейронні мережі для комп’ютерного зору та періодичні нейронні мережі для обробки природної мови.

Якщо ви хочете вивчити технічний аспект глибокого навчання, я пропоную пройти онлайн-курс.

В даний час одним з найкращих курсів для глибокого навчання є спеціалізація глибокого навчання Ендрю Нга. Якщо ви не зацікавлені в отриманні сертифіката, вам не потрібно платити за курс. Натомість ви можете перевірити його безкоштовно.

Якщо у вас є запитання або ви хочете отримати більше технічних пояснень концепцій, будь ласка, задайте нижче!

У підсумку ...

  • Deep Learning використовує нейронну мережу для імітації інтелекту тварин.
  • У нейронній мережі є три типи шарів нейронів: вхідніШар, приховані шари (шари) та вихідний шар.
  • Зв'язки між нейронами пов'язані з вагою, що диктує важливість вхідного значення.
  • Нейрони застосовують функцію активації на даних, щоб "стандартизувати" вихід, що виходить з нейрона.
  • Для навчання нейронної мережі вам потрібен великий набір даних.
  • Ітерація через набір даних та порівняння результатів дадуть функцію витрат, яка вказує, наскільки ШІ вимкнено від реальних результатів.
  • Після кожної ітерації набору даних ваги між нейронами регулюються за допомогою Gradient Descent для зменшення функції витрат.

Якщо вам сподобалася ця стаття, будь ласка, дайте мені кілька хлопань, щоб більше людей побачили це. Дякую!

Ви також можете перевірити мій досвід про те, як я пройшов стажування в Shopify!

Щоб отримати додаткові оновлення, слідкуйте за мною у Twitter.