Содержание статьи
Искусственный интеллект. Введение в тематику
ИИ общего назначения
Благодаря умению анализировать и систематизировать данные умные программы и машины стали эффективными помощниками современных врачей. Окончательная постановка диагноза остается за человеком, но ИИ помогает быстро собирать и обрабатывать данные. На их основе врачи способны быстрее и точнее поставить диагноз. На данный момент в медицине применяются умные программы для диагностики онкологии, прогнозирования генетических заболеваний, проблем с сердечно-сосудистой системой. Интеллектуальные устройства наподобие умных браслетов способны считывать жизненные показатели человека, отправлять данные на почту лечащему врачу и даже вызывать скорую помощь. Испытания подобных устройств провели в голландском университете Неймегена: 60 добровольцам раздали браслеты, которые измеряют температуру, давление, ритм сердца и дыхания. В случае отклонений от нормы устройства подавали сигнал в систему, врач получал сообщение. Браслеты связали со специальным ПО, позволившим врачам мониторить состояние пациентов и снимать показатели удаленно.
Кроме перечисленных выше языков, сегодня большую популярность приобретает Lisp. На вопрос о причинах этого Даниэль Вивона, генеральный директор UDX Interactive, отвечает: «Lisp и его разновидности — языки, предоставляющие программисту широкие возможности. Его растущая популярность является отражением зрелости области ИИ. Для крупных проектов, в которых имеются исследовательские группы или много опытных программистов в области ИИ, Lisp является отличным языком.
Самый популярный продукт, созданный с применением технологии ИИ – смарт-хаус. Неудивительно, ведь концепция его применения близка каждому: умный дом делает быт более комфортным, упорядоченным. Система способна следить за безопасностью жилища, расходом воды и света, климатом, контролировать состояние проводки, автоматически делать уборку. Помогают в повседневной жизни и портативные умные устройства – обучаемые переводчики, фитнес-браслеты, смарт-часы. Насколько быстро и результативно будут внедряться интеллектуальные системы в нашу жизнь, зависит от конкретных проектов и задач. Конечно, искусственный интеллект не застрахован от ошибок и влияния внешних факторов. Потому принимать важные решения и нести за них ответственность по-прежнему будет человек, но с помощью умных машин и программ люди смогут работать быстрее, а также сделать свою жизнь комфортнее и безопаснее.
Примечательно, что отдельные определения настолько обширны, что к ИИ позволено отнести почти любую современную ЭВМ, которая может выполнять «сложные задачи, когда-то требовавшие участия человека» (Oracle). Международная организация по стандартизации также дает крайне обширное определение, согласно ему любая эконометрическая модель или линейное уравнение, демонстрирующее тенденцию изменения данных, будет относиться к ИИ, поскольку «генерирует выходные данные, такие как… прогнозы». Тем не менее в одном определения схожи: они все отмечают, что ИИ связан с интеллектуальными способностями, то есть с навыками осуществления мыслительных операций.
Итак, программирование ИИ работает на основе тех же алгоритмов, но отличается сложностью и обучаемостью. Для работы алгоритмов ИИ нет необходимости в явном виде задавать входные и выходные параметры. В то же время обычный алгоритм требует предоставления полной информации, необходимой для решения задачи.
Поскольку ИИ представляет собой комбинацию множества алгоритмов, разработчики должны уделять особое внимание налаживанию обмена информацией и передачей знаний о данных между этими алгоритмами — и этот поток разработчику необходимо организовать, чтобы выполнить более сложные задачи. В совокупности, этот процесс организации и считается созданием воркфлоу программы.
Казалось бы, можно на этом и закончить – определение ИИ дано. Но необходимо понять, насколько оно отражает реальность. Определение считается истинным, если соответствует объекту исследования. В данном случае был рассмотрен лишь смысл каждого из слов понятия «искусственный интеллект», но не сам объект. И с этого момента уже начинаются сложности. Дело в том, что многие разные вещи именуют искусственным интеллектом. Далеко ходить за примерами не надо, достаточно взглянуть на определения отдельных организаций, ведомств и лиц:
Scala, или «scalable language (масштабируемый язык)», — это универсальный язык, который был создан для усовершенствования Java, сохранив при этом его самую мощную особенность — JVM. Таким образом, Scala полностью совместим с Java. Код, написанный на Scala, полностью исполняется на Java, и наоборот. Scala обеспечивает взаимодействие со всей экосистемой JVM и даже имеет тот же синтаксис, что и Java.
Однако Scala имеет множество улучшений по сравнению с Java, наиболее существенным из которых является возможность одновременного выполнения множества операций. Это расширяет возможности распараллеливания тяжелых вычислительных операций, позволяя сократить общее время выполнения программы. Scala также имеет доступ ко всему набору библиотек для Java, что делает ее очевидным выбором для тех, кто уже работает на Java.
Слова, сказанные Уиллом Смитом в знаменитой сцене из фильма «Я, робот», мол, искусственному интеллекту никогда не достичь человеческого уровня, потому что он «не может написать симфонию или взять чистый холст и превратить его в шедевр», теряют актуальность. Генеративные нейросети демонстрируют прямо-таки волшебные способности: пишут тексты, создают уникальные изображения, видео и звук. Они отгадывают загадки, интерпретируют сложные графики, медицинские снимки и выполняют прочие трюки, которые от человека потребовали бы как минимум одного высшего образования. С одной стороны, новые возможности ИИ способны изменить в лучшую сторону многие области человеческой жизни, от избавления офисных работников от рутины до диагностики сложных заболеваний. С другой – они же угрожают оставить миллионы людей без работы, разъесть привычные социальные нормы и вообще превратить мир в страшную утопию. Самое время, чтобы придумать законы, которые предотвратили бы негативные сценарии.
Государственный сектор и искусственный интеллект
Pybrain, что расшифровывается как Python-Based Reinforcement Learning, Artificial Intelligence, and Neural Network Library, — это модульная библиотека, созданная для начинающих разработчиков ИИ. Она содержит алгоритмы для нейронных сетей и обучения с подкреплением, которые можно просто добавлять и использовать совместно с Python. Она также широко часто используется для быстрого обучения и развертывания распространенных алгоритмов ИИ.
Для разработки алгоритмов ИИ сегодня могут использоваться различные универсальные и специализированные языки программирования, наиболее популярным из которых является универсальный Python. Python используется энтузиастами ИИ из-за его мощности и в то же время простому синтаксису, что делает язык одинаково доступным как для новичков, так и для опытных пользователей.
R, специальный язык программирования используемый для статистических вычислений, — также популярен для разработки алгоритмов ИИ. R хорошо подходит для современного ИИ, поскольку позволяет легко обрабатывать большие объемы данных. Кроме того, статистика является важной частью разработки модели ИИ, что делает его вторым, наиболее распространенным языком программирования для ИИ.
Кроме них, для программирования ИИ используются такие языки программирования, как C++ и Java. Эти языки используются в тех случаях, когда существует конкретная потребность, которая может быть решена только с их помощью. Другим популярным вариантом для программирования ИИ является Scala — объектно-ориентированный язык программирования.
Чтобы определиться с языком программирования ИИ предлагаем подробнее узнать о каждом из них.
Разработка искусственного интеллекта — не такая уж и непонятная, как может показаться с первого взгляда, задача. В своей основе ИИ представляет собой последовательность алгоритмов, предназначенных для выполнения конкретной задачи. Алгоритм — это просто способ, с помощью которого пользователь указывает компьютеру, каким образом выполнять ту или иную задачу.
Например, можно написать короткий алгоритм для определения наибольшего из трех чисел. В этом алгоритме компьютеру предлагается сравнить все три числа между собой и вывести число, которое больше двух других. В свою очередь алгоритмы искусственного интеллекта — это более специализированный тип алгоритмов.
Когда речь идет об искусственном интеллекте, большее количество подобных алгоритмов объединяется для выполнения более сложных процессов. Однако некоторые алгоритмы ИИ позволяют компьютерам самообучаться и улучшать свои предыдущие результаты. Такой подход чаще всего называют машинным обучением.
Поскольку алгоритмы машинного обучения создаются с целью улучшения предыдущих итераций, машинное обучение является основным направлением развития ИИ на сегодняшний день. Однако инструменты, необходимые для разработки этих алгоритмов, известны далеко не всем. В этой статье мы рассмотрим различные языки программирования ИИ, их достоинства и недостатки.
Java — еще один широко используемый язык для программирования ИИ. Впервые появившись более 20 лет назад, в 1995 году, Java используется программистами ИИ из-за подхода «один раз напиши, выполни где угодно». Язык Java разработан таким образом, чтобы иметь наименьшее количество зависимостей, что означает низкие требования для его запуска на любой платформе.
Java отличается от других языков программирования наличием уникальной виртуальной машины, известной как Java Virtual Machine (JVM). JVM выступает в роли посредника между кодом, написанным на Java, и машиной, на которой он выполняется. Это одна из причин, по которой Java является портативным и простым в исполнении.
Искусственный интеллект (ИИ) сейчас у всех на слуху. Каждый день появляются новости о внедрении очередной технологии ИИ в самых разных организациях. Одни пытаются активно развивать технологии в этой сфере, а другие уже сейчас требуют приостановить разработку ИИ. Однако возникает вопрос, на который следовало бы давно уже ответить: что же такое искусственный интеллект?
Искусственный интеллект теперь прочно связан с современными технологиями и даже нашей повседневной жизнью. Помимо опасений относительно информационной безопасности, возникает все больше вопросов в правовом поле относительно авторства и несения ответственности: самостоятелен ли ИИ или является лишь инструментом? Для ответа следует начать с самых основ.
Системы ИИ с помощью камер и датчиков движения способны следить за порядком на улицах города и в местах массового скопления людей, прогнозировать возникновение опасных ситуаций и даже опознавать преступников. К тому же умные системы могут с высочайшей точностью проводить сверку документов, предупреждать кражи. Схожим образом технологии искусственного интеллекта работают и в службах пожарной безопасности, самостоятельно проверяя, предупреждая и принимая решение о необходимости вызова пожарной бригады. Технологии ИИ, применяемые в работе чиновников, помогут сократить время на обработку и систематизацию государственных документов, патентов, лицензий. Например, аналитики из центра Reform утверждают, что роботы и умные программы уже сейчас способны заменить 90% британских чиновников.