00

Искусственный интеллект

Искусственный интеллект

Глубокое обучение, инференция, нейронные сети – мы часто слышим эти понятия, когда речь идет об искусственном интеллекте. Но что именно они обозначают?

Искусственный интеллект – популярная тема в последнее время, но что именно понимается под этим словосочетанием? Обычно в новостях или статьях звучат шесть понятий, которые характеризуют ИИ. В первую очередь, это само понятие искусственного интеллекта. ИИ – это широкий спектр компьютерного восприятия, логики и обучения. Один из методов ИИ – машинное обучение. Это программа, которая позволяет системе по мере получения новых данных работать более эффективно. Глубокое обучение – прерогатива наиболее «продвинутого» машинного обучения. Оно использует алгоритмы на основе нейронных сетей, в основе которых заложены наши знания о человеческом мозге: эти сети позволяют искать наилучшее решение проблем и самостоятельно решать задачи. Тренировка – это процесс подачи большого объема входной информации определенного типа. Инференция охватывает процессы анализа и принятия решений.

Это краткие объяснения. Теперь рассмотрим эти понятия более подробно.

Определение искусственного интеллекта

Можно дать множество определений искусственного интеллекта – прежде всего потому, что трудно дать определение понятию «интеллект». Стипендиат Intel Прадип Дюбей (Pradeep Dubey) называет искусственный интеллект упрощенным представлением компьютера, который не отличим от человека. Также искусственный интеллект можно определить как систему, которая «из информации извлекает смысл» – это определение очень точно описывает взгляд большинства предприятий на ИИ. Чаще всего искусственным интеллектом называют ряд компьютерных алгоритмов и приложений, которые позволяют машинам чувствовать, думать и вести себя близко к тому, как это делает человек – или по-другому, поскольку иногда машины могут больше, чем мы.

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

Работа над ИИ началась в 1950-х годах, переживала многочисленные подъемы и спады, связанные с интересом к этой теме и инвестициями. За это время возникали и рушились надежды на новые возможности применения (Checkers playing Артура Сэмюэла (Arthur Samuel) в 1950-е и Стэнфордский интегральный робот Шейки (Shakey) в 1960-е). Затем последовал период, который называют зимой искусственного интеллекта, поскольку не было ни инвестиций, ни интереса к этой теме.

Определение машинного обучения

ИИ охватывает целый ряд различных вычислительных методов, многие из которых называются «машинным обучением». Как объясняет Прадиб Дюбей, машинное обучение – это «программа, которая по мере работы совершенствует себя», и чем больше данных она получает, тем лучше работает. Иными словами, машина будет тем умнее, чем больше она «учится».

Формальное определение машинного обучения звучит так: «проектирование и исследование алгоритмов, которые могут на основе получаемой информации делать выводы или принимать решения».

В одной из статей в Wired Magazin было описано, как машинное обучение изменило программирование: «В традиционном программировании инженер пишет явные пошаговые инструкции для компьютера. При машинном обучении программист не дает компьютеру указаний. Он его обучает».

Машинное обучение представляет большой интерес для медицины: оно позволяет более эффективно ставить диагнозы и лечить заболевания. Например, группа ученых разработала офтальмоскоп с поддержкой ИИ – цифровую версию прибора, с помощью которого офтальмологи исследуют глаза. Этот офтальмоскоп умеет распознавать ретинопатию у диабетиков и возрастную макулодистрофию (оба диагноза могут привести к потере зрения) благодаря тысячам картинок больных и здоровых глаз, загруженным в систему. Анализ на основе данных пяти тысяч пациентов показал, что точность распознавания заболевания системой составляет 93%, врачом (человеком) – только 70-80%. По прошествии времени и получении новых данных эффективность системы распознавания будет увеличиваться.

Нейронные сети и глубокое обучение

Понятия «нейронная сеть» и «глубокое обучение» тесно связаны друг с другом и иногда заменяют друг друга. Но они не тождественны. Глубокое обучение – это особый метод машинного обучения, основанный прежде всего на использовании нейронных сетей.

«При традиционном, контролируемом машинном обучении система предполагает, что эксперт использует свои знания для указания информации по поводу входных данных, которая бы позволяла системе стать максимально компетентной». Так написали инженеры Intel в недавно появившемся блоге. В вышеупомянутом примере с цифровым офтальмоскопом это означало бы указание цветов, форм и узоров, которые отличают здоровый глаз от больного.

Глубокое обучение – другое дело. «Вместо указания признаков, которые, как мы считаем, наилучшим образом позволят системе классифицировать информацию», – продолжают они, – «мы позволяем машине самостоятельно найти эту информацию. Часто она может решить задачу так, как эксперту это никогда и не пришло бы в голову».

Другими словами, прибор оценивает ситуацию не теми же средствами, какими пользуется врач; но диагноз прибора гораздо точнее. Это возможно благодаря глубокому обучению – при достаточном количестве и качестве данных задача решается быстро и точно.

Нейронная сеть – а если быть точными, то «искусственная нейронная сеть», поскольку она основана на наших представлениях о работе человеческого мозга – обеспечивает математическую базу. Google предлагает инструмент, который позволяет поиграть с нейронной сетью прямо в браузере. Там же предлагается упрощенное объяснение: «Сначала создается некоторое количество программных «нейронов», которые связываются между собой. Эта связь позволяет им посылать друг другу информацию. Далее этой сети предлагается проблема, которую она пытается решить снова и снова. При этом укрепляются связи, которые приводят к успешному решению, а «неудачные» связи сокращаются».

Нейронные сети обеспечивают работу программы, которая делит проблему на все более мелкие – и более простые – блоки. «Глубоким» обучение называется потому, что оно описывает использование многоуровневых нейронных сетей. Благодаря большому количеству слоев программа делит информацию на элементы, которые она может классифицировать наиболее точно. Для этого нужно много данных и большая вычислительная мощность.

Концепция кажется сложной, но когда речь идет о самом коде – он довольно прост. «Это не волшебство, это математика, а проще говоря – матричное умножение», – говорит Дюбей.

Определение тренировки и инференции

В заключение надо сказать несколько слов о тренировке и инференции. Тренировка – это часть машинного обучения, когда инженер создает алгоритм и предоставляет ему данные, с которым нужно выполнять определенные задачи. Это самая сложная часть. «Тренировка – это процесс поиска системой образцовых данных», – пишут инженеры Intel в вышеупомянутом блоге. «Во время обучения мы проводим данные через нейронную сеть, корректируем ее после каждой попытки и повторяем этот процесс до получения наилучшей параметризации. После такой тренировки полученная архитектура может быть использована для инференции».

В случае с офтальмоскопом, например, тренировка заключалась в предоставлении системе изображений глаз, помеченных как «здоровые» или «нездоровые».

И, наконец, инференция. В лексике инференция определяется так: «действие или процесс выведения логического заключения из известных или предполагаемых условий». В блоге Intel читаем: «инференция – это процесс применения тренированных моделей для прогнозирования». Инференцию мы наблюдаем, когда аппарат выдает результаты проверки глаз, когда голосовой ассистент отвечает на наши вопросы, или когда беспилотник выбирает траекторию движения, учитывая препятствия.

Возврат к списку

Хотите подписаться на статьи электронного журнала "Электрорешения"?