Файл: Конспект лекций по дисциплине прикладные компьютерные технологии Направление подготовки 09. 03. 01 Информатика и вычислительная техника.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 20.03.2024

Просмотров: 73

Скачиваний: 0

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

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

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

KERAS. Это библиотека нейронных сетей на основе Python с открытым исходным кодом, которая может работать под управлением Microsoft CNTK (Cognitive Toolkit), Tensorflow и многих других сред. KERAS лучше всего подходит новичкам.

TENSORFLOW. Tensorflow является наиболее выдающейся средой для разработки искусственного интеллекта, которая использует методы машинного обучения, такие как нейронные сети. Tensorflow был разработан командой Google Brain, именно этот фреймворк в ответе за автозавершение фраз в текстовое поле поисковой системы Google, а также ИИ приложений Google.

SONNET. Созданная командой Google DeepMind, Sonnet — это библиотека, работающая поверх TensorFlow для построения сложных нейронных сетей глубокого обучения. SONNET лучше всего подходит для исследований и разработок в области искусственного интеллекта и является очень сложной для новичков.

CNTK (Microsoft Cognitive Toolkit). Ранее известный как CNTK, Microsoft Cognitive Toolkit нацелен обучить алгоритмы мыслить как человеческий мозг. Он обладает скоростью, масштабируемостью, качеством и совместимостью с C ++ и Python. Microsoft использует его для функций AI в Skype, Cortana и Bing. Microsoft CNTK позволяет пользователям комбинировать популярные модели глубокого обучения, такие как DNN, CNN и RNN.

PYTORCH. Pytorch — это библиотека машинного обучения с открытым исходным кодом для Python, основанная на Torch, которая использует технологии обработки естественного языка (NLP).

DL4J (Deeplearning4j) — это библиотека с открытым исходным кодом для разработки ИИ с использованием методов глубокого обучения. Написана специально для Java и JVM (Java Virtual Machine). DL4J работает на базе собственной библиотеки числовых вычислений и может работать как на CPU, так и на GPU.

ONNX, платформа глубокого обучения, которая совместно разработана Facebook и Microsoft, а также перечислим несколько других: H2O, DSSTNE, Theano, DeepDetect, ConvNetJS, ACT-R, Caffe и CaffeOnSpark.

MXNET. Apache MXNET — это программная среда с глубоким обучением для развертывания нейронных сетей. Она имеет масштабируемую модель обучения, которая поддерживает несколько языков программирования для разработки AI: Go, R, Scala, Perl, C ++, Python, Julia, Matlab, JavaScript, и является проектом с открытым исходным кодом. MXNET используется для развертывания нейронных сетей в службах общего хостинга, таких как AWS и Microsoft Azure.


Современные приложения на основе искусственного интеллекта работают по принципам машинного обучения (англ. machine learning) и глубокого обучения (англ. deep learning). Последний использует большие массивы данных и требует высокой компьютерной мощности. Оба процесса основаны на работе искусственных нейронных сетей, которые автоматически строят графы, представляющие программную интерпретацию алгоритмов запоминания. Также потенциальными областями применения искусственных нейронных сетей являются такие области, в которых человеческий интеллект малоэффективен либо традиционные вычисления трудоёмки или физически неадекватны, так как не отражают или плохо отражают реальные физические процессы и объекты.

Актуальность применения нейронных сетей многократно возрастает, когда появляется необходимость решения плохо формализованных задач. Таким образом, основная цель искусственного интеллекта заключается в том, чтобы сделать такую программу, которая не только способна обучаться, но и способна обучать себя сама, то есть являться самообучающейся. Ниже представлен список из пяти наиболее продвинутых платформ для разработки программного обеспечения на основе ИИ:

Wit.ai имеет специальные механизмы, которые преобразуют голосовые запросы пользователей в текст. После этого платформа тщательно анализирует полученный запрос и отвечает на него, действуя по принципу сущностей и намерений. Сущности представляют собой объекты, которые автоматически указываются программой при наличии запроса пользователя. Ответ генерируется с помощью интегрированной базы данных и знаний, полученных на этапе машинного обучения. Кроме того, уникальная функция “история” (которая сохраняет контекстные данные) позволяет создавать продвинутые чат боты на основе платформы в очень короткие сроки. На сегодняшний день используется более чем 180 тыс. разработчиков

Dialogflow (ранее называвшийся Api.ai), созданный совместно с разработчиками Google, основан на контекстном запоминании предыдущих взаимодействий пользователей. Его принцип работы аналогично Wit.ai сосредоточен на двух понятиях: сущности и намерения. Он поддерживает более 14 языков, включая португальский, русский и испанский. Dialogflow является одним из самых мощных инструментов для разработки программного обеспечения ИИ, в основном за счет его совместимости с наиболее распространенными мобильными платформами: ОС Android и iOS, а также поддержки языков программирования таких как Xamarin, Python, C++ и JavaScript.



Clarifai является платформой, которая обрабатывает данные, полученные с помощью камер, встроенных в устройства пользователей. В ней реализованы механизмы систематизации знаний, полученных с помощью машинного обучения. Программные решения, созданные с помощью Clarifai, способны достаточно точно идентифицировать изображения, полученные из внешних источников. Clarifai подходит для разработчиков со знанием таких языков программирования как Python, Java и Node.js.

Melissa. Платформа с открытым исходным кодом Melissa использует язык программирования Python и предоставляет возможность реализовать практически любое приложение на основе ИИ (аналогичное по структуре помощнику ИИ, встроенному в смартфон). Платформа поддерживается всеми популярными настольными операционными системами. Melissa имеет встроенные механизмы распознавания голоса, которые делают его идеальным инструментом для развития голосовых помощников различных типов.

Есть много других систем, которые так или иначе сопоставимы с указанными выше платформами: Keras ,Theano, Lasagne, или Blocks, предназначенных в первую очередь для обучения нейронных сетей.

Сферы использования ИИ

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

Голосовые помощники, основанные на базе искусственного интеллекта, такие как Siri, Google Now, Alexa, Bixby и Cortana. Они слушают, что говорит пользователь, чтобы преобразовать речь в машиночитаемый вектор, после чего выдается вектор ответа, который произносится голосовым помощником с помощью Natural Language Processing (NLP).

Умные помощники. Autodesk Eva является отличным примером интеллектуального помощника, который использует CNN и NLP для взаимодействия с клиентами в режиме реального времени. Умный помощник, смоделированный в 3D, может вести диалог с клиентом в режиме реального времени и имитировать соответствующие выражение лица. Автономное планирование и составление расписаний. Медицинские диагностические программы сумели достигнуть уровня опытного врача в нескольких областях медицины.

Беспилотные автомобили используют радар, LIDAR (детектор света и определитель дистанции), GPS и камеру для создания трехмерных моделей приближающихся транспортных средств. Все эти данные объединяются для определения местоположения транспортного средства с очень высокой точностью. Водителем выступает ИИ, который анализирует всю поступающую информацию с датчиков. Программа Remote Agent, разработанная в NASA, используется для комплексного управления работой космических аппаратов, удаленных далеко за пределы околоземной орбиты, в т.ч. диагностики и устранения неисправностей по мере их возникновения. Система компьютерного зрения Alvinn была обучена вождению автомобиля, придерживаясь полосы движения. На протяжении 2850 миль система обеспечивала управлении автомобилем в течение 98% времени.


Распознавание лиц. Разработка искусственного интеллекта на основе CNN сделала возможным внедрение системы распознавания лиц. Недавно в Китае начали использовать систему распознавания лиц с помощью камер видеонаблюдения по всему городу, налагая штраф за нарушение правил дорожного движения. Магазины Alibaba в Китае используют распознавание лиц и изображений для выставления счета.

Балансировка нагрузки. Балансировка нагрузки на дороги, транспортные системы, серверы и так далее. Во время кризиса в Персидском заливе в 1991г. В армии США была развернута система DART (Dynamic Analysis and Re-planning), которая обеспечивала автоматизированное планирование поставок и составление графика перевозок, охватывая одновременно до 50000 автомобилей, людей и грузы. Разработчики этой системы заявили, что одно это применение окупило их 30-летние инвестиции в искусственный интеллект.

Языковые переводчики. Гугл переводчик является хорошим примером. Он имеет два модуля: кодировщик и декодер. Кодировщик берет входные предложения из речи или текста, а затем переводит их в вектор, который является одинаковым форматом для входных данных со всех языков. Модуль декодера принимает этот вектор в качестве входных данных, а затем генерирует текст или речь на целевом языке. Распознавание языка происходит с помощью RNN, вывод речи выполняется с помощью NLP.

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

Оптимизация для достижения наилучших результатов. Модули Deepmind были обучены игре в шахматы, Go, Dota 2, Starfield 2. Эти модули наиграли игр на сотни лет всего за несколько недель обучения, что привело AI к победе над лучшими игроками в мире. Программа Deep Blue компании IBM стала первой программой, которой удалось победить чемпиона мира в шахматном матче.

Лекция №4

Аналитика данных. Бигдата: понятия, тенденции, применения. Принципы и процесс обработки и анализа больших данных. Технологические основы работы с большими данными. Программные средства и инструменты.

Общие сведения

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


В то же время, существуют ситуации, когда увлечение новыми технологиями может привести и к разочарованию. Например, иногда разреженные данные (Sparse data), дающие важное понимание действительности, являются гораздо более ценными, чем Большие данные (Big Data), описывающие горы, зачастую, не существенной информации.

Big Data

В современных обсуждениях понятие Big Data описывают как данные объема в порядках терабайт. На практике (если речь идет о гигабайтах или терабайтах), такие данные легко хранить и управлять ими с помощью «традиционных» баз данных и стандартного оборудования (сервера баз данных).

Большие данные (Big Data, биг дата) — это структурированные и неструктурированные данные огромных объемов и разнообразия, а также методы их обработки, которые позволяют распределенно анализировать информацию. Термин Big Data появился в 2008 году. Впервые его употребил редактор журнала Nature — Клиффорд Линч. Он рассказывал про взрывной рост объемов мировой информации и отмечал, что освоить их помогут новые инструменты и более развитые технологии.

Как правило, обсуждение Big Data сосредоточено вокруг хранилищ данных (и проведении анализа, основанных на таких хранилищах), объемом намного больше, чем просто несколько терабайт. В частности, некоторые хранилища данных могут вырасти до тысячи терабайт, т.е., до петабайт (1000 терабайт = 1 петабайт). За пределами петабайт, накопление данных может быть измерено в эксабайтах, например, в производственном секторе по всему миру в 2010 году, по оценкам, накоплено в общей сложности 2 эксабайта новой информации (Manyika et al., 2011 г.).

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

Кроме того, за последние несколько лет, внедряются так называемые “smart grid” технологии, позволяющие коммунальным службам измерять потребление электроэнергии отдельными семьями каждую минуту или каждую секунду. Для такого рода приложений, в которых данные должны храниться годами, накопленные данные классифицируются как Extremely Big Data.

Классификацию объемов данных можно представить так:

  • Большие наборы данных: от 1000 мегабайт (1 гигабайт) до сотен гигабайт

  • Огромные наборы данных: от 1000 гигабайт (1терабайт) до нескольких терабайт

  • Big Data: от нескольких терабайт до сотен терабайт

  • Extremely Big Data: от 1000 до 10000 терабайт = от 1 до 10 петабайт