З чого почати вивчення штучного інтелекту?

  1. Шріканс Варма Чекуров, викладач і дослідник у сфері машинного навчання
  2. Ражж раж, розробник ПЗ в компанії Facebook
  3. Срідхар Махадеван, член Асоціації по просуванню штучного інтелекту

Машинне навчання та штучний інтелект вже давно і міцно увійшли в повсякденне життя. Однак фахівців в цій області до цих пір дуже мало. З чого ж почати вивчення сфери ІІ? На це питання відповіли користувачі сайту Quora .

сайту Quora

Шріканс Варма Чекуров, викладач і дослідник у сфері машинного навчання

Я працюю викладачем онлайн-курсу по вивчення штучного інтелекту і машинного навчання. Цей курс створений для новачків, у яких немає ніяких знань в даній сфері, які, однак, готові на протязі 5-6 місяців витрачати 5-10 годин в тиждень на вивчення машинного навчання. Після закінчення даного курсу багато наших студентів дійсно вирішують існуючі завдання за допомогою ІІ \ МО.

Робота курсу побудована таким чином:

Ми починаємо з базових знань про Python, включаючи вивчення великих бібліотек даних, таких як NumPy, SciPy, MatPlotlib, Seaborn і ін. Серед безлічі мов програмування ми вибираємо Python (а не Java або, наприклад, R), тому що ця мова досить легко вивчити. Крім того, для нього існує величезна кількість відмінних бібліотек для ІІ \ МО.

Як тільки засвоєний базовий рівень програмування, учасники курсу вчаться працювати з даними, використовуючи Python в якості інструменту програмування. Даний етап має назву «Дослідницький аналіз даних» і включає в себе використання інструментів для побудови діаграм, що полегшує роботу з даними. На цьому етапі вивчаються базові поняття, такі як гістограма, PDF, CDF, точкова і прямокутна діаграми та інші. Аналізу піддаються реально існуючі масиви даних. Завдяки використанню діаграм для здійснення аналізу даних, вже на початкових етапах навчання студенти можуть побачити результат виконаних ними досліджень, що, безсумнівно, мотивує їх на подальшу роботу.

Після ми переходимо до вивчення статистики і теорії ймовірності. Даний блок інформації сприймається учасниками курсу легше, з огляду на те, що на попередньому етапі велася робота з даними. Учасники курсу знайомляться з такими поняттями, як розподіл ймовірностей, тестування гіпотези, кореляція, довірчі інтервали і багато іншого. За допомогою простих прикладів, розбавляючих «суху» теорію, дана тема сприймається набагато краще.

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

Тепер можна перейти безпосередньо до основ машинного навчання. Ми використовуємо Метод головних компонент (PCA) і алгоритм t-SNE для візуалізації багатовимірних змінних. Однак в якості базису для вилучення математичних деталей використовується геометрія.

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

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

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

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

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


Ражж раж, розробник ПЗ в компанії Facebook

Штучний інтелект - це область науки, яка надає колосальні можливості. Хіба вам не хочеться зрозуміти, як працюють інструменти і системи, з якими ви маєте справу кожен день? Однак розібратися в цьому зможе далеко не кожен. Перш ніж заглибитися в те, як компанія Google прагне створити квантовий комп'ютер, вам необхідно розібратися з основами, а саме, з програмуванням. Для початку вивчіть хоча б одну мову програмування. До найбільш класним мов я б відніс Java, Python, C ++, JavaScript і Ruby on Rails. Ось кілька відмінних ресурсів, які допоможуть вам почати:

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

Codeavengers.com - навчитеся створювати додатки, ігри та вебсайти з допомогою Code Avengers | Code Avengers . На цьому сайті представлені онлайн-курси та навчальні посібники для безлічі мов програмування, включаючи Python, HTML & CSS, JavaScript. Крім того, тут можна знайти керівництво для новачків по освоєнню програмування.

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

«Чистий код» Роберт Мартін ( « Clean Code », by Robert C. Martin ) - для тих, кому більше подобається читати. У даній книзі можна знайти величезну кількість прикладів з використання Java, проте вони можуть бути застосовані також і до інших мов програмування. Даний посібник звертає особливу увагу на правильну організацію коду, тому воно може стати вашим покроковим керівництвом у вивченні можливостей, які вам надає програмування.

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

Xpath - відмінний ресурс, який допомагає вам створювати ботів і досліджувати HTML.

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

Requests - спрощений HTTP; відмінна HTTP-бібліотека для веб-розробників, які добре знайомі з мовою програмування Python.

Чат-боти: докладний посібник для початківців ( « The Complete Beginner's Guide to Chatbots ») - містить всю необхідну інформацію про чатбот, про те, що це таке і як їх створювати.

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

«Програмуємо колективний розум» Тобі Сегаран ( « Programming Collective Intelligence »By Toby Segaran) - хоч ця книга і була написана задовго до того, як машинне навчання досягло нинішнього рівня популярності, проте в ній ця технологія представлена ​​в легко сприймається формі. Ключові теми: функції пошукової системи, методи спільного фільтрування, метод опорних векторів і байєсівську фільтрація. Для опису машинного навчання використовується Python.

«Машинне навчання» Том Мітчелл ( [PDF] «Machine Learning», by Tom Mitchell ) - відмінне вступне посібник, що містить детальний огляд алгоритмів машинного навчання. У книзі представлені кілька тематичних досліджень, супроводжуваних простими прикладів, які полегшують читачеві розуміння алгоритмів.

«Машинне навчання. Новий штучний інтелект »Етем Алпайдін (« Machine Learning: The New AI », By Ethem Alpaydi) - це книга про те, як з розвитком цифрових технологій від базових мейнфреймів до смарт-девайсів машинне навчання стало однією з передових технологій в області комп'ютерних наук. Крім того, з даного посібника можна дізнатися базову інформацію про машинному навчанні, а також те, яким чином цю технологію можна застосовувати по відношенню до додатків.

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

  • Вища математика (наприклад, алгоритм розрахунку коефіцієнта кореляції) і Статистика
  • Мова програмування
  • машинне навчання
  • Терпіння. Перш за все вам необхідно просто море терпіння.

Перш за все вам необхідно просто море терпіння

Для вивчення ІІ існує величезна кількість курсів як в реальному, так і в онлайн-форматі. Udacity.com , mit.edu , edX.org і saylor.org пропонують дійсно круті онлайн-курси по цій темі:

«Введення в штучний інтелект» на udacity.com ( « Intro to Artificial Intelligence ») - цей складається з 10 уроків онлайн-курс дозволяє новачкам зануритися в світ ІІ. Ви познайомитеся з такими поняттями, як комп'ютерний зір, машинне навчання, обробка природної мови, робототехніка і теорія ігор. Щоб освоїти цей курс, необхідно володіти базовими знаннями з лінійної алгебри та теорії ймовірності.

«Штучний інтелект» на edX.org ( « Artificial Intelligence ») - для вивчення базових концептів ІІ можна використовувати курс, представлений на сайті edX . Даний курс приділяє особливу увагу статистичної моделі і моделі теорії прийняття рішень. Необхідні достатні знання в математиці, а також початкові знання і базовий досвід в програмуванні. В якості основного мови використовується Python. В рамках даного курсу студенти навчаться створювати автономних інтелектуальних агентів, які запрограмовані на прийняття рандомних рішень, а також вивчать додатки машинного навчання.

«Штучний інтелект» від MIT OpenCourseWare ( «Artificial Intelligence ») - даний курс надасть своїм студентам вичерпні знання з методів навчання ІІ. По завершенні цього курсу ви будете знати основні способи збирання рішень. Крім того, ви поглянете на людський інтелект з точки зору високих технологій.

«Штучний інтелект» від Saylor Academy ( « Artificial Intelligence Course ») - в рамках даного курсу студенти отримають поглиблені знання в області ІІ. Особлива увага приділяється таким темам, як машинне навчання, програмування штучного інтелекту, робототехніка, а також розуміння природної мови.

«Штучний інтелект: Принципи і методи» ( Stanford University: «Artificial Intelligence: Principles & Techniques ») - прекрасний навчальний курс для тих, хто хоче дізнатися більше про штучний інтелект. Даний курс базується на основних принципах ІІ і включає в себе такі теми, як машинне навчання, Марківський процес прийняття рішень, задоволення обмежень, а також графічні моделі. Головна мета курсу - дозволити студентам освоїти різні інструменти, за допомогою яких вони зможуть впровадити ІІ в повсякденну практичну діяльність, тим самим вирішивши ряд існуючих проблем.

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

«Штучний інтелект: сучасний підхід», Стюарт Рассел і Пітер Норвіг ( [PDF] «Artificial Intelligence: A Modern Approach », By Stuart J. Russell and Peter Norvig) - в першій частині книги розглядаються інтелектуальні агенти, далі можна знайти інформацію про теорію прийняття рішень, а також розкриття таких понять, як« сприйняття »і« міркування ». В кінці книги автори оцінюють загальний потенціал даної технології і дають прогноз на майбутнє.

«Революція Штучного інтелекту - шлях до Супер-інтелекту», Тім Урбан ( « The AI ​​Revolution: Road to Superintelligence ») - вкрай деталізована і зважена стаття, в якій автор намагається розвіяти деякі з найбільш поширених помилок, які стосуються сфери штучного інтелекту.

«Штучний інтелект на практиці: програмування на Java», Марк Уотсон ( [PDF] Practical Artificial Intelligence: Programming in Java , By Mark Watson) - будучи націленої як на любителів, так і на професійних програмістів, дана книга вчить читача того, як застосовувати ІІ на практиці. Кожна глава містить техніку навчання, трохи теоретичної інформації про цю техніку і приклад на Java, який демонструє, як саме ця техніка може бути використана.

«На шляху до штучного інтелекту», Нільс Нільсон ( [PDF] The Quest for Artificial Intelligence , By Nils J. Nilsson) - в цій книзі міститься все, що вам потрібно знати про штучний інтелект з самого початку існування технології (коли ІІ існував ще тільки в формі концепту) і до наших днів.

Ми згадали різні курси, які можуть допомогти вам у вивченні штучного інтелекту, а також деякі книги, здатні поглибити ваші знання по цій темі. Тепер ми б хотіли звернути увагу на різні точки зору, наявні щодо ІІ. Один з найбільш зручних способів познайомитися з ними - це відвідування різних заходів і конференцій, а також перегляд відеоконференцій. Ось деякі з найбільш цікавих доповідей і презентацій:

Ілон Маск про штучному Інтелекті ( Elon Musk talks about Artificial Intelligence at MIT ) - це дискусія тривалістю більше години, записана в 2014 році на святкуванні 100-річчя від дня заснування Кафедри аеронавтики і астронавтики Массачусетського технологічного інституту. Обговорення охоплює безліч тем: від дослідження Марса і ролі НАСА в цьому до попереджень про існуючу небезпеку з боку ІІ, а також про електромобілі компанії Tesla.

Обговорення статусу і місця штучного інтелекту в нинішньому світі ( Davos 2016, The State of Artificial Intelligence ) - ґрунтовне обговорення, головною метою якого було знайти відповідь на вкрай важливі питання: «Наскільки близько передові технології підійшли до того, щоб назавжди змінити людський розум?» І «Як впливає ІІ на розвиток нинішньої промисловості?».

Документальний фільм «Штучний інтелект та робототехніка» ( [Documentary] Artificial Intelligence and Robotics ) - «Зовнішність може бути оманлива» - і цей документальний фільм розповість вам, чому цієї прислів'ї варто вірити. Протягом багатьох десятиліть наукова фантастика показувала нам роботів, готових віддано служити людині. Однак ІІ і роботи вже давно перестали бути всього лише темою для науково-фантастичних фільмів. Роботи борються за своє місце в цьому світі, дикому і не прощає помилок. Сучасні технології, такі як машинне навчання, програмування і глибоке навчання, дають нам надію на те, що незабаром роботи з лабораторій стануть нашими повноправними сусідами в реальному світі.

Ілон Маск розповідає про штучний інтелект в Стенфордському університеті ( Elon Musk talks about artificial intelligence at Stanford University (2015) ) - мова присвячена різним питань, обговорення безпосередньо ІІ починається на 27 хвилині. Ілон Маск міркує про передові технології, їх місці в майбутньому, а також робить прогноз, що буде являти собою штучний інтелект через 25 років.

Білл Гейтс і Ілон Маск міркують про безпеку ІІ ( Bill Gates and Elon Musk talk about AI safety ) - обидва оратора кажуть про суперінтелекту, ІІ, а також про те, що технології роблять для людей. Головна мета обговорення - це звернути особливу увагу на те, що необхідно зробити штучний інтелект максимально безпечним. Маск уточнює, що створити і випустити ІІ - це не так вже й складно. Забезпечити його безпеку в подальшому - ось насправді непросте завдання.

Штучний інтелект давно перестав бути всього лише плодом нашої уяви. На сьогоднішній день дана технологія більш ніж реальна. Ми високо цінуємо таких віртуальних помічників, як Cortana, Siri і Google Now, за їх внесок в наше життя. Ігрова індустрія використовує штучний інтелект для створення вражаючих онлайн-продуктів, а автопромисловість на сьогоднішній день прагне вдосконалити самоврядні машини.

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

Говорячи простою мовою, наш будинок, банк, смартфон і машина - все це працює на основі ІІ


Срідхар Махадеван, член Асоціації по просуванню штучного інтелекту

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

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

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

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

З чого ж почати вивчення сфери ІІ?
Хіба вам не хочеться зрозуміти, як працюють інструменти і системи, з якими ви маєте справу кожен день?
» І «Як впливає ІІ на розвиток нинішньої промисловості?