27.09.2022
3868

Чому мова Python така важлива для розвитку штучного інтелекту

Андрій Мазур
автор ApiX-Drive
Час прочитання: ~5 хв

Штучний інтелект та тісно пов'язані з ним технології на кшталт різних алгоритмів машинного навчання стали топ-темами для обговорень та дискусій. Як серед фахівців, так і у суспільстві загалом. Однак більша частина цього медійного буму присвячена або якимось окремим ефектним досягненням, або перспективам та загрозам, які можуть створити ці технології.

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

Розповідаю чому мова програмування Python стала важливим інструментом у створенні штучного інтелекту.

Зміст:
1. Просто цікаві факти
2. Області використання мови Python
3. Чому Python важливий для ШІ
4. Підведемо підсумки
***

Просто цікаві факти

Для початку трохи загальної інформації та цікавих фактів про мову та її творця.

  • Автор мови Python - голландський програміст Гвідо ван Россум. Початок роботи над такою затребуваною нині мовою програмування почався випадково. "У грудні 1989 р. я думав, чим би зайнятися на різдвяні канікули. Офіс був зачинений. Тому я почав удома допрацьовувати мову ABC. Тоді я і гадки не мав, що з цього може вийти ще щось серйозне", - згадував пізніше Гвідо.
  • Назва мови не має відношення до рептилій. Гвідо ван Россум дав назву своєму творінню на честь серіалу Monty Python's Flying Circus (Літаючий цирк Монті Пайтона). Крім того, назва вписалася у традицію називати мову програмування на честь видатних особистостей.
  • Створюючи Python, ван Россум керувався правилами, які згодом суттєво вплинули на індустрію програмного забезпечення. Він був і залишається прихильником відкритого коду, використовував спрощену англійську (програміст-іноземець можна не марнувати час на вдосконалення своєї англійської). Нарешті, ван Россум прагнув до стислості коду, зручності його використання.
  • Існує зведення з 19 висловів, що відображають дух мови - Zen of Python. Він розміщений на офіційному сайті Python. Також Zen of Python відкривається в консольній програмі Python після внесення команди import this.
  • У 2015 р. Python став найпопулярнішою мовою, яка вивчалась у початкових школах Великобританії. Шість із 10 опитаних батьків віддали перевагу тому, щоб їхні діти вивчали Python, а не французьку.
  • Python — одна з кількох мов програмування, оголошена, завдяки своїй ефективності, офіційною мовою Google.
  • Користувачі Google задають питання про Python набагато частіше, ніж про персон на кшталт Кім Кардаш'ян, Дональд Трамп або Том Круз.
Мова Python

Області використання мови Python

Починаючи з далекого 1989 року, особливе поширення Python отримав у трьох сферах:

  • web-розробка;
  • обробка великих масивів даних (Big Data), машинне навчання, аналіз та візуалізація даних;
  • створення скриптів автоматизації.

Розповім коротко про роль мови Python у кожній з них.

Почнемо з веб-програмування. Python дозволяє зробити весь backend інтернет-ресурсу. Нагадаю, що backend – це внутрішня складова інтернет ресурсу. Вона являє собою базу даних, що зберігається на віддаленому комп'ютері-сервері. За запитом користувача інформація з такої бази даних виймається та надходить у браузер на комп'ютері. І тут отримана інформація обробляється другою складовою сайту – frontend.

Веб-розробникам Python сподобався завдяки фреймворкам Django та Flask, написаним цією мовою. Фреймворком називається програмна оболонка (точніше кажучи - каркас), що спрощує і прискорює вирішення завдань, що часто зустрічаються.

Так ось, на Django створено такі ресурси як Instagram, Disqus, Mozilla, The Washington Times, Pinterest. Фреймворк Flask використовують такі відомі ресурси як LinkedIn, Netflix, Uber.

Також використання Python добре показало себе при написанні парсерів - програм для збирання та систематизації інформації, розміщеної на сайтах.

Ще одна область, де мова Python виявилася затребуваною – скрипти для автоматизації рутинних процесів. Скрипт - коротка програма, що містить послідовність деяких процесів. Хороший приклад скрипта - макроси в сервісі Google Sheets, про які я вже розповідав докладніше в одному зі своїх постів.

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

Зв'яжіть сервіси та додатки між собою без програмістів за 5 хвилин!

Зрештою, перейдемо до головної теми цієї статті.

Чому Python важливий для ШІ

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

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

У китайському мистецтві є такий ефектний артефакт як “кантонська куля”. Це вирізьблена зі слонової кістки сфера , всередині якої знаходяться ще кілька сфер. Причому кожна вільно обертається стосовно сусідніх.

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

Зовнішньою сферою такої уявної кантонської кулі буде штучний інтелект. Кожна наступна технологія в нашому переліку ніби вкладена в попередню. Отже, машинне навчання - це підмножина штучного інтелекту. Глибоке навчання – це частина машинного навчання, а нейронні мережі – базис для алгоритмів глибокого навчання.

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

Так ось, Python має у своєму арсеналі найкращу підтримку машинного навчання серед усіх мов програмування. Цією "диво-зброєю" стали бібліотеки штучного інтелекту TensorFlow, Keras, Scikit-learn, створені спеціально для машинного навчання.

Штучний інтелект для Python


За традицією, принагідно поясню значення терміна. Бібліотека — це набір функцій, які дозволяють вирішувати певне завдання у програмі. Бібліотека позбавляє програміста багаторазового "винаходу велосипеда", тобто написання коду для рутинних, повторюваних завдань. Наприклад, у Scikit-learn вже вбудовані найпоширеніші алгоритми навчання.

Про те, яку роль відіграє мова Python у розвитку штучного інтелекту, говорить наступний факт. За даними Google Trends, у 2016 р. відзначено різкий скачок інтересу до тематики машинного навчання у всьому світі і, власне, до мови Python. Цей феномен проявився через рік після випуску бібліотеки для машинного навчання TensorFlow.

Що ще впливає на затребуваність цього інструменту у сфері ШІ, крім описаних, суто специфічних особливостей?

Мова програмування Python наділена простим і зрозумілим синтаксисом (набором правил, що визначає, яке розташування символів створює правильний вираз). Навколо нього сформувалося численна спільнота програмістів, що розвиває та популяризує мову. Тобто, з одного боку, прогрес вимагає використання ШІ у всіх сферах життя, з іншого боку - існує досить велика кількість фахівців, здатних вирішувати ці завдання, із застосуванням саме мови Python.

Підведемо підсумки

Штучний інтелект став областю майже монопольного використання мови програмування Python буквально в останні 5-10 років. Хоча сама мова з'явилася ще в минулому столітті. Такому розвитку подій сприяло поєднання кількох факторів:

  • у ході розвитку цивілізації стали необхідними обробка та аналіз великих масивів даних. Без технологій машинного навчання та штучного інтелекту відповісти на цей виклик неможливо;
  • мова програмування Python саме в цей час обзавелася всіма необхідними інструментами для розв'язання задач в галузі ШІ;
  • доступність у вивченні та простота в роботі сприяла популярності цієї мови у середовищі програмістів. І сформувала цілу армію людей, які готові працювати в галузі ШІ.

Всі ці фактори увійшли в резонанс в останні роки та у сприйнятті суспільства зробили мову Python та технології штучного інтелекту майже нерозривними поняттями.

***

Сьогодні час – найцінніший ресурс для бізнесу. Майже половина його йде на рутину. Ваші співробітники постійно змушені виконувати монотонні завдання, які складно віднести до важливих та профільних. Ви можете залишити все як є, найнявши додаткових працівників, а можете автоматизувати більшу частину бізнес-процесів за допомогою онлайн-конектора ApiX-Drive, щоб раз і назавжди позбутися зайвих витрат часу та коштів. Вибір за вами!