loading...
Искусственный интеллект: легенды и мифы

Искусственный интеллект: легенды и мифы

Опубликовано: 19 авг. 2019

Мировые новости то и дело пестрят заголовками об очередных победах искусственного интеллекта: то он в шахматы кого-то обыграет, то заболевания диагностирует лучше самых продвинутых врачей мира. Всё это в разной степени подогревает интерес к изучению данной темы. Неудивительно, что многие программисты пытаются так или иначе хайпануть и заняться вопросами изучения искусственного интеллекта.


Изучив несколько готовых реализаций, они начинают выступать на семинарах и профессиональных митапах с громкими заявлениями о внедрении системы искусственного интеллекта, утверждая, что именно она теперь определяет настроение сотрудника при входе в офис. Однако здесь многие забывают о главном: если была взята готовая реализация, не являющаяся универсальным продуктом, то насколько корректно и, самое главное, - как это работает? И вообще – А НУЖЕН ЛИ В ПРИНЦИПЕ ПРОГРАММИСТ в его типовом понимании?


Что же происходит на самом деле?


Изучая детали темы, всё больше приходишь к выводу, что само по себе понятие «Искусственный интеллект» - это не более чем современный торговый тренд, фишка, хайп (и, кстати, сам «Искусственный интеллект» о себе такого же мнения). Людям в современном мире удобнее слышать и чувствовать значимость понятия: если в названии фигурирует «Искусственный интеллект», продукт продается существенно дороже, и спрос на него значительно выше, чем, например, если бы он назывался просто «Математическая модель машинного обучения». 


«Что??.. Повтори-ка!!», скажете Вы. Вот и я о чем! 


Данная статья написана для того, чтобы разобраться в сути процесса работы искусственного интеллекта, и, сделав беглую трепанацию, взглянуть на «искусственный мозг». Постигнет ли нас разочарование в финале? Будем ли мы также восторженно верить в красивый рекламный слоган «Искусственный интеллект»? Читайте далее.


Итак, искусственный интеллект: что это? 


Появление понятия «искусственного интеллекта» (ИИ) в середине ХХ века стало одним из самых трендовых, интересных и загадочных научных направлений, связанных с наукой о мышлении.


По данным Википедии, впервые определение ИИ было дано Джоном Маккарти в 1956 году на научной конференции в Дартмутском колледже. Необходимо отметить, что тогда понятие не было связано напрямую с пониманием интеллекта у человека. Данный факт обусловлен тем, что  методы, используемые в работе ИИ, не имеют ничего общего с методами работы интеллекта человека, а кроме того, понятие интеллектуальности тех или иных процессов было весьма абстрактным и не до конца изученным.


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


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


Итак, ИИ в нашем понимании мы разделим на 3 группы с нечеткой гранью различий между собой:
  • Машинное обучение
  • Глубокое обучение
  • Брендовое название «Искусственная нейронная сеть»


Разберем по порядку. Что же такое машинное обучение? 


Давайте представим, что Вы программист и решаете задачу построения некого графика на координатной оси. Если я Вам скажу: «Начерти мне график», резонным ответом для меня станет вопрос: «По какой формуле?» Я должен буду предоставить формулу, например, y = 2*x, и тогда Вы без проблем закладываете алгоритм, выбираете множество значений x, вызываете графический процессор и показываете мне результат:

Так работает типовая линейная логика программных алгоритмов. 

Если же я попрошу график y = x2, то результат получится хитрее:


Однако если я поставлю вопрос так: «Есть множество значений x (около 20000)  и столько же результатов по y, найдите мне функцию (формулу) по которой строится зависимость», то здесь линейные алгоритмы заходят в тупик, и перед программистом возникает проблема. Ведь он – программист, а не математик. Что делать? Представьте себе длинную таблицу, в которой некоему х соответствует некое значение у, и нет того значения х, которое нас интересует, например, есть решение для х=5 и х=6, а решения для х=5,5 нет. 

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

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

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

На что опирается наша система машинного обучения? 

Во-первых, на сбор статистики и поиск закономерностей в данных. Например, система проследила, что цвет проданного Iphone сильно зависит от пола покупателя (девушки чаще выбирают розовый цвет, хотя мы это и без компьютера знаем). 

Во-вторых, на сложные алгоритмы поиска вероятностей. Например, какова вероятность того, что молодые семейные пары, купившие холодильник, придут через месяц за микроволновой печью, и стоит ли таким покупателям делать рекламную рассылку по микроволновкам в течение месяца? 

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

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

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

Условно, узлы приема и обработки данных представляют собой точки принятия решения, каждая из которых дает свою оценку полученному пакету данных:

Например, сеть предоставляет возможность отличить кошку от собаки. Логично, что для такой схемы будет достаточно 2-х узлов принятия решения (нейронов).

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

Такая схема будет выглядеть так: 


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

В заключение хотелось бы сказать следующее. 

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

Помните, машина (искусственный интеллект) не может выйти за заданные рамки, а человеческий мозг способен мыслить глобально и отнюдь не шаблонно.