5 мощных проектов по машинному обучению для начинающих


Оглавление (нажмите, чтобы открыть):

Четыре проекта, где Machine Learning приносит пользу

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

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

Здравоохранение, IBM и Watson

Что­бы сде­лать мир здо­ро­вее, IBM сде­лал Ват­со­на. Это ней­ро­сеть, кото­рая сле­дит за меди­цин­ски­ми пока­за­те­ля­ми паци­ен­тов и на их осно­ве дела­ет выво­ды об их здо­ро­вье. Про­грам­ма уже рабо­та­ет в несколь­ких гос­пи­та­лях и мед­цен­трах, где Ват­сон смог рас­по­знать рак намно­го рань­ше вра­чей.

Одна из глав­ных про­блем в совре­мен­ной меди­цине — боль­шое коли­че­ство раз­роз­нен­ных дан­ных о паци­ен­те. Ват­сон как раз и зани­ма­ет­ся тем, что ищет зако­но­мер­но­сти в дан­ных, кото­рые не видит чело­век.

Преобразование текста в голос и распознавание речи

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

Так как алго­рит­мы рабо­та­ют по одно­му прин­ци­пу, но в раз­ных направ­ле­ни­ях, их часто исполь­зу­ют вме­сте. У Яндек­са и у Гуг­ла есть свои голо­со­вые движ­ки, но Яндекс точ­нее рабо­та­ет с рус­ским язы­ком, а Гугл гово­рит с замет­ным акцен­том.

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

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

Распознавание лиц

Как гово­рят спе­ци­а­ли­сты, Face Recognition — самый про­стой в мире API для рас­по­зна­ва­ния лиц для Python. Точ­ность рас­по­зна­ва­ния — 99,38% в тесте Labeled Faces in the Wild. Тест моде­ли­ру­ет реаль­ное исполь­зо­ва­ние тех­но­ло­гии, смот­рит, как она рас­по­зна­ёт людей на фото и даже с экра­нов теле­фо­нов.

Ней­ро­сеть рабо­та­ет в режи­ме реаль­но­го вре­ме­ни и на лету раз­по­зна­ёт несколь­ко лиц, одно­вре­мен­но попав­ших в кадр. Если сюда под­клю­чить соц­се­ти, то систе­ма смо­жет рас­по­знать каж­до­го, кто вхо­дит в мага­зин. Или может выве­сти на экран исто­рию про­шлых поку­пок чело­ве­ка и дать реко­мен­да­ции по про­да­жам.

Восстановление испорченных изображений

Deep-image-prior — про­грам­ма для вос­ста­нов­ле­ние изоб­ра­же­ний с помо­щью ней­рон­ных сетей, автор — Дмит­рий Улья­нов из Скол­ко­во. Зву­чит скуч­но, но вот, что она уме­ет:

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

Топ-10 проектов по машинному обучению на GitHub

Машинное обучение стало одним из главных трендов в ИТ-мире в последний год. Один из пользователей GitHub составил рейтинг наиболее популярных репозиториев по теме машинного обучения на основе количества «звёзд» у каждого из проектов. dev.by отобрал топ-10 из них.

1. Tensorflow

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

Изначально TensorFlow разработали исследователи и инженеры команды Google Brain вместе с командой машинного интеллекта Google. Цель проекта — проведение исследований в области машинного обучения и глубоких нейронных сетей. Ключевым преимуществом (и причиной успеха) TensorFlow является комплексность, которая позволяет использовать его в самых разных сферах.

2. Caffe

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

3. Neural Style

Этот проект — образцовая реализация научной работы «Нейронный алгоритмы художественного стиля». Исследованием предложен алгоритм для объединения одного изображения со стилем другого с использованием свёрточных нейронных сетей. Ниже — пример того, как Neural Style переносит художественный стиль картины «Звёздная ночь» на ночную фотографию Стэнфордского кампуса.

4. Deep Dream

Репозиторий включает в себя IPython Notebook с примерами кода, дополняющими публикацию в блоге Google Research, посвящённую искусству и нейронным сетям.

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

5. Keras

Keras — минималистичная, разбитая на небольшие совместимые модули Python-библиотека, работающая на основе TensorFlow или Theano. Цель её создания — сделать возможным быстрые экспериментальные вычисления. Возможность пройти от идеи к результату кратчайшим путём — ключ к проведению качественного исследования.

6. Roc AlphaGo

Изначально этот проект назывался AlphaGo, но был переименован для того, чтобы прояснить отсутствие связи c оригинальной разработкой от DeepMind, впервые обыгравшей человека в игру Go. Roc AlphaGo — студенческая разработка, сфокусированная на тренировке нейронных сетей.

7. TensorFlow Models

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

8. Neural Doodle

Реализация работы Semantic Style Transfer, основанная на алгоритме нейронных заплаток (Neural Patches Algorythm). Вы сможете использовать навыки глубокой нейронной сети для того, чтобы на время получить «навыки» художника и создать собственную картину. Проект генерирует новую иллюстрацию на основе от 1 до 4 входящих изображений, в зависимости от поставленной цели. Алгоритм перенимает стиль картинки, указанной в качестве примера, и переносит его на итоговый графический файл. К примеру, быстрый скетч в Paint может быть превращён в картину в стиле любимого художника.

9. CNTK

Computational Network Toolkit — набор инструментов для вычислительных сетей от Microsoft Research. В нём краевые узлы представляют входные значения параметров сети, в то время как другие узлы — матричные операции по отношению к входящей информации. Этот весьма мощный инструмент доступен под лицензией open-source с апреля 2015 года, однако пока не стал таким популярным, как лидеры рейтинга.

10. TensorFlow Examples

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

Топ-9 IT-проектов на основе технологии машинного обучения

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

А рыночные реалии таковы, что ваши конкуренты, возможно, уже готовят почву для широкого использования в практике своей работы некоторых элементов технологии МО. По данным компании IDC (International Data Corporation), которая занимается исследованиями перспектив развития IT-технологий, глобальный рынок систем искусственного интеллекта (ИИ) к концу текущего года почти удвоится, достигнув $12,5 млрд., и продолжит расти такими же темпами до 2020 года, превысив отметку в $46 млрд. Если у вашего бизнеса небольшой бюджет, а в штате нет специалистов по обработке и анализу больших данных и построению систем с нуля, вы все-таки сможете использовать технологии МО в ваших бизнес-процессах, выбрав подходящие инструменты и сервисы, которые предлагает сейчас рынок IT-проектов.

Ниже приведены 9 IT-проектов, которые окажутся полезными любому бизнесу для начала экспериментов с практическим применением технологии машинного обучения.

1. Чат-бот службы клиентской поддержки

Если ваша компания составила перечень ответов на часто задаваемые клиентами вопросы, вы на основе Microsoft QnA Maker сможете создать чат-бот для последующего автоматического взаимодействия с потребителями и их поддержки. Чат-бот также может быть создан для ответов на вопросы новых сотрудников компании, например, о льготах и компенсациях или же для контактов с системой технической поддержки пользователей.

Внесите URL вашего перечня часто задаваемых вопросов и ответов (FAQ) или осуществите загрузку электронных таблиц и документов, содержащих вопросы и ответы, и QnA Maker создаст для вас необходимые пары «вопрос – ответ», которые вы сможете просматривать, проверять, обучать и в конце концов, назвать это API. Если вам хочется иметь более занимательный интерфейс, а не только текстовые ответы, вы можете применить .NET SDK и Microsoft Bot Framework для создания бота, показывающего картинки и имеющего богатый контент.

Если вы предпочитаете бессерверную архитектуру, QnA Maker является одним из шаблонов Azure Bot Service, поэтому вы можете создавать ботов, которые будут работать с email, GroupMe, Facebook Messenger, Kik, Skype, Slack, Microsoft Teams, Telegram, text/SMS и Twilio.

В долгосрочной перспективе чат-боты, подобно Amazon Alexa и Microsoft Cortana, будут трансформированы в виртуальные агенты. Но вместо того, чтобы просто давать ответы на индивидуальные вопросы, виртуальные агенты смогут вести беседы, «ориентированные на достижение цели», помогающие клиентам в решении проблем, что необходимо вашему бизнесу для увеличения продаж или для диагностирования технических проблем. Корпорация Microsoft недавно добавила решение о клиентском обслуживании в Dynamics 365, позволяющее виртуальному агенту не только давать рекомендации потребителям, но и переадресовать их запросы операторам, описывая детали запросов и их решений, в случае если сами виртуальные операторы не в состоянии решить проблемы обратившихся за помощью клиентов. Службы клиентской поддержки компаний HP, Macy и Microsoft уже используют этих агентов для онлайн поддержки потребителей.

2. Автоматизация маркетинга и аналитики

Как правило, из всех структурных подразделений компаний отдел маркетинга первым начинает использовать новые технологии. Именно поэтому такие сервисы как Adobe Marketing Cloud, Dynamics 365 и Salesforce вышли на рынок с предложением разнообразных маркетинговых продуктов, основанных на предикторах машинного обучения. Данные продукты предоставляют возможность разработки рекомендаций для клиента по подбору сопутствующих товаров, показа персонализированных результатов поиска, классификации лидов, предупреждения холодных продаж, выявления альтернативных контактов потребителей. В любом случае, предиктивные модели для клиентской службы помогут вам в планировании и прогнозировании бизнеса.

Если ваша служба маркетинга еще не использует предлагаемые на рынке сервисы, то текущий момент является наиболее приемлемым для начала использования технологий машинного обучения в вашей бизнес-практике. Если же отдел маркетинга применяет современные технологии, выявите, что из аналитики работает лучше всего и как это можно будет использовать в других отделах. Компания AXA с целью оптимизации ценовой политики применяет модель глубокого машинного обучения TensorFlow, которая использует 70 переменных для прогноза вероятности наступления страховых событий стоимостью свыше $10000 у определенной категории клиентов. Более старые модели были не столь аккуратны в прогнозах, но с повышением степени точности прогнозов с 40% до 78%, возможно, бизнесу стоит рассмотреть возможность применения новых моделей для таргетирования потенциальных клиентов.

3. Обнаружение фрода

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

Технология машинного обучения может быть использована не только для выявления фрода со стороны существующих клиентов. Страховые компании хотели бы использовать современные технологии для разоблачения новых клиентов, у которых до заключения страхового полиса уже поврежден автомобиль. Кредитное подразделение автоконцерна Ford использует ZestFinance – инструмент машинного обучения для прогноза вероятности погашения автокредитов определенной категорией заемщиков для последующего предоставления кредитов потенциальным заемщикам с низким уровнем кредитоспособности. В условиях спада продаж автомобилей в США (и существенного снижения продаж автомобилей Ford), технологии машинного обучения окажут существенную помощь бизнесу, осуществляя более быструю дифференциацию потребителей.

4. ERP планирования ресурсов

Автоматизация поставок не является чем-то новым и необычным для бизнеса, но технологии машинного обучения превращают систему автоматизированных закупок в достаточно обычный и распространенный процесс. Вместо сбора и анализа исторических данных о продажах, технология МО, которая в совокупности позволят вам управлять ресурсами посредством прогноза спроса, предоставляет вам возможность оперативно обрабатывать такой массив данных как: способы и методы онлайн поиска товаров, влияние погоды на потребительские привычки, складывающиеся внутренние и внешние тренды. Корпорация Amazon заявляет, что она может точно предсказать, какое количество рубашек определенного цвета и размера будет продаваться каждый день; компания Target считает, что рост ее продаж на 15-30% был обусловлен применением предиктивных моделей машинного обучения. Онлайн ритейлер Otto использует технологию МО для прогноза продаж на месяц вперед с 90% точностью, соответственно сокращая избыток запасов на 20% и число возвратов товаров на 2 млн. ед. в год. При этом компания Otto с помощью автоматизированной системы ежемесячно размещает заказ на поставки 200 тыс. наименований товаров различного цвета и стиля.

5. Планирование логистических маршрутов

Одной из проблем, с которой сталкивается коммивояжер, является классической для науки информатики – это проблема выбора кратчайшего пути между всеми точками продаж, если необходимо совершить поездку туда и обратно. Вне зависимости от целей, которые преследует продавец – поиск потенциальных покупателей, доставка товара клиенту или выбор наиболее привлекательной точки продаж — определение маршрута и планирование поездок оказывает большое влияние на ваш бизнес. Вы можете использовать сервис предиктивного трафика в Bing и Google Maps API для создания карт изохрон. Эти карты покажут вам не только расстояние, но и время поездки для выявления количества клиентов, которые сможет обслужить, например, инженер компании в течение 15-ти минутной поездки. Эти карты также помогут определить наиболее приемлемое время для осуществления доставок товаров (используйте предпросмотр Bing Maps Truck Routing API для разработки маршрута для коммерческих и сервисных автомобилей, размеры которых больше среднего автомобиля).

Если вы добавите опцию трекинга активов и триггеры локаций, то сможете сформировать свое собственное логистическое решение. Или как вариант, вы сможете сделать процесс доставки более прибыльным посредством установления грузовых тарифов, точно отражающих вашу себестоимость, что позволит избежать убыточности бизнеса при занижении цены или потери клиентов при ее завышении. В этом случае ваш бизнес сохранит маржу прибыльности. R.R. Donnelley – крупнейшая компания в секторе бизнес-коммуникаций — использует R и Azure Machine Learning Studio при участии в тендерах на грузоперевозки для оптимизации предлагаемых тарифов, которые ранее были весьма осторожны и соответственно снижали конкурентоспособность компании. Данный сервис, комбинируя исторические данные с различными переменными, которые включают, например, погодные показатели, стоимость топлива и рыночные условия, позволяет разрабатывать более совершенную ценовую модель. Автоматизированная система, которая генерирует тарифы в режиме реального времени для заданного маршрута, является более точной, а компания R.R. Donnelley, используя новую модель ценообразования, увеличила на 4% количество выигранных тендеров и планирует в 4 раза нарастить свой бизнес по предоставлению брокерских грузоперевозочных услуг. Аналогичная предиктивная аналитика может быть полезна при участии в любых тендерах, если у вас есть достаточно данных для формирования хорошей модели.

Мастер Йода рекомендует:  Как использовать инструмент «Размытие при малой глубине резкости» для создания эффекта tilt-shift

6. IoT предиктивного технического обслуживания

Если вы ждете момента поломки оборудования для начала его технического обслуживания и ремонта, ваш бизнес простаивает и может потерять клиентов; если ваша система слишком часто проходит техническое обслуживание, продуктивность вашего бизнеса снижается. В свое время компания ThyssenKrup провела анализ учета времени проведения сервисного обслуживания 1,1 млн. установленных и обслуживаемых ею лифтов, и выявила, что межсервисный период может быть увеличен. Когда компания ThyssenKrup стала использовать сервис Azure IoT Suite для дистанционного мониторинга датчиков, прогноза возможных поломок и предупредительного обслуживания оборудования, она не только обеспечила рост степени удовлетворенности потребителей заблаговременным предупреждением поломок, но и снизила затраты как за счет увеличения количества единиц оборудования, обслуживаемых во время первого осмотра, так и за счет высокой точности прогноза потребности в запасных частях. Сделайте то же самое с вашей производственной линией, и вы сможете увеличить продуктивность вашего бизнеса. В соответствии с отчетом 2020 report on industrial IoT, предиктивное техническое обслуживание может сократить затраты на плановый ремонт на 12%, снизить расходы на техническое обслуживание на 30% и уменьшить поломки оборудования на 70%.

7. Машинное обучение и безопасность

В сложном мире компьютерной безопасности машинное обучение не является «серебряной пулей», но МО сможет помочь вам в обнаружении атак на ваш компьютер. Эти атаки в условиях отсутствия сервисов, основанных на технологии машинного обучения, могут потеряться в логах и алертах, генерируемых при нормальной работе системы. Несмотря на свое название — Windows Defender Advanced Threat Protection, не является антивирусной программой, а представляет собой сервис, созданный на основе технологии МО. Данный сервис проводит анализ сетевой деятельности ваших компьютеров, работающих на Windows 10 Enterprise, и уведомляет ваших специалистов в области безопасности о том, является ли обнаруженная атака вредоносным процессом, предметом социальной инженерии или результатом эксплуатации документа. Вам в любом случае необходимо проводить анализ логов и устранять последствия атак, но инструменты безопасности на основе МО смогут помочь вам в эффективном решении этих задач.

8. Объективный рекрутинг

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

Сервис SAP SuccessFactors предлагает аналогичный инструмент.

9. Технология распознавания изображения для обеспечения безопасности производства

В строительстве и в производстве широко используют разнообразное оборудование, которое может представлять опасность для жизни и здоровья ваших работников. Если в вашем бизнесе вы применяете камеры и датчики, вы сможете использовать технологию распознавания изображения и лица для выявления случаев небезопасного использования оборудования или использования данной техники лицом, не имеющим права доступа к нему. Компания Hitachi в партнерстве в DFKI — Немецким исследовательским центром по искусственному интеллекту, на основе технологии глубокого изучения разработала специальные носимые очки, которые отслеживают траекторию движения взгляда. На недавней конференции Build корпорация Microsoft представила аналогичное решение, созданное с использованием Azure Functions, Microsoft Cognitive Services и Azure Stack. Создание абсолютно безопасного рабочего места является трудной задачей, но вы можете начать, например, с использования таких приложений к смартфону как The Safety Compass, которое работает вместе с Risk Analyst. Данное приложение позволяет работнику фотографировать и описывать опасные производственные участки и предупреждать других работников, когда они приближаются к таковым местам.

15 книг по машинному обучению для начинающих

Data Science — оверхайповое направление IT. Мы сделали подборку книг по Machine Learning для тех, кто хочет разобраться, что да как.

IT стали толчком развития новых профессиональных областей: Data Mining, машинного обучения (Machine Learning) и других. Чтобы погрузиться в тему, читайте книги из нашей подборки.

Книги по машинному обучению на русском

Автор в сфере IT, digital, экономики и финансов. Ведет некоммерческий проект для начинающих писателей «ЛитЦех».

Владимир Вьюгин.
«Математические основы машинного обучения и прогнозирования»

Сначала изучите азы статистической теории машинного обучения, игр с предсказаниями и прогнозирования с применением экспертной стратегии. Их основы прекрасно объясняет автор книги, доктор физико-математических наук Владимир Вьюгин. Пособие рассчитано на студентов и аспирантов и в доступной форме излагает математические основы, необходимые для дальнейшей работы с машинным обучением.

Педро Домингос.
«Верховный алгоритм»

Книга, благодаря которой даже ничего не смыслящие в математике и статистике люди поймут, что такое алгоритмы машинного обучения и каково их применение в жизни. Профессор Педро Домингос рассказывает о пяти основных школах Machine Learning и о том, как они используют идеи из различных областей научного знания — нейробиологии, физики, статистики, биологии, — чтобы помогать людям решать сложные задачи и упрощать рутину с помощью алгоритмов.

Хенрик Бринк, Джозеф Ричардс, Марк Феверолф.
«Машинное обучение»

Эта книга 2020 года издания доступно рассказывает о Machine Learning — для тех, кто ничего не слышал об этих технологиях. В ней нет заумной статистики, математики или углубленного и подробного объяснения, как использовать тот или иной алгоритм. Авторы с легкостью объясняют, что такое машинное обучение и как его применять в повседневной жизни. Примеры в книге приводятся на языке программирования Python, который используется в том числе и в этой сфере.

Бастиан Шарден, Лука Массарон, Альберто Боскетти.
«Крупномасштабное машинное обучение вместе с Python»

Еще одна отличная книга для начинающих свой путь в программировании и анализе больших данных. Авторы утверждают, что благодаря ей читатель научится самостоятельно строить модели машинного обучения и развертывать крупномасштабные приложения для прогнозирования. В книге рассказывается о том, какие алгоритмы входят в семейство масштабируемых, что они из себя представляют и как с их помощью обрабатывать большие файлы. Также вы узнаете, что такое вычислительная парадигма MapReduce и как работать с машинными алгоритмами на платформах Hadoop и Spark на языке Python.

Себастьян Рашка.
«Python и машинное обучение»

Книга для новичков, осваивающих Python и машинное обучение. Издание содержит подробные мануалы даже по таким нюансам, как установка специализированного приложения Jupyter Notebook.

В книге рассматриваются основы Machine Learning, возможности самых мощных библиотек Python для анализа данных и дается ответ на вопрос, почему этот язык — один из лидеров в Data Science.

Георгий Кухарев, Екатерина Каменская, Юрий Матвеев, Надежда Щеголева.
«Методы обработки и распознавания изображений лиц в задачах биометрии»

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

Петер Флах.
«Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных»

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

Топ-5 языков для машинного обучения

Существует великое множество языков программирования, однако не все они подходят для машинного обучения (МО). Портал Techopedia рассказывает о наиболее подходящих языках, их преимуществах и недостатках.

Специалист по вычислительной техники Стэнфордского университета Эндрю Нгом дал МО следующее определение: «наука, которая работает над тем, как научить компьютеры функционировать без явного программирования». Предпосылки к рождению науки появились в однако вплоть до начало они носили лишь теоретический характер. Настоящий прорыв произошел десятилетие назад, когда МО стало катализатором развития нескольких прорывных технологий, особенно это касается искусственного интеллекта. МО можно разбить на несколько категорий, включая контролируемое (supervised), неконтролируемое (unsupervised), полууправляемое (semi-supervised ) и обучение с подкреплением (reinforcement learning).

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

МО в современной итерации востребовано во многих отраслях промышленности, растет также спрос на продукты и услуги, основой которых являются машинные алгоритмы. Предприятия применяют прогностические возможности МО, стремясь разработать предписывающие (prescriptive) методы для принятия обоснованных решений. Технология предусматривает несколько методов разработки ПО на базе машинных алгоритмов, однако самым популярным из них является задействование языков программирования.


Python. Это высокоуровневый язык программирования, который имеет множество различных способов применений, включая науку о данных и внутреннюю веб-разработку. Он был создан Python Foundation в начале и является мощным инструментом для анализа данных, широко используется в технологии больших данных. Особый статус ему придает многочисленное сообщество разработчиков МО, которое в основном сосредоточено на быстрорастущем ИИ-направлении.

Благодаря активному сообществу для Python появилось множество готовых библиотек МО. Этот язык — платформенно независимый, поэтому его можно адаптировать практически к любой операционной системе. Еще одно преимущество Python связано с его открытостью — он построен на базе технологий Open Source, поэтому разработчики могут получить доступ к любому стеку языка.

Что касается минусов Python, то поскольку это динамически типизированный язык, работа с ним в среде МО может вызывать проблемы. Одной из них является сложность отслеживания ошибок в коде, что связано с разрастанием кодовой базы программы и, соответственно, с ее сложностью. В некоторых случаях (сложные проекты для крупных организаций) аудит кода может выливаться в значительные финансовые затраты, отнимать много времени и сказываться на продуктивности проекта.

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

R — платформенно независимый, он хорошо интегрируется с другими языками программирования. Наряду с анализом данных, R приспособлен для визуализации данных.

Несмотря на относительную простоту интеграции с другими инструментами, R обладает рядом особенностей, которые усложняют его изучение. К ним, например, можно отнести нетрадиционные структуры данных и индексирование (которое начинается с 1 вместо 0).

R менее популярен, чем Python, поэтому массив документации, требуемый разработчикам для создания приложений в области МО, у него меньше.

JavaScript. Этот язык появился в середине как инструмент для улучшения практики веб-разработки и является одним из наиболее востребованных в этой области. JavaScript — высокоуровневый и динамически типизированный язык, гибкий и мультипарадигмальный. Применение языка в МО получило ограниченное применение, но, тем не менее, такие известные проекты, как Google Tensorflow.js, основаны на JavaScript.

Что касается плюсов JavaScript в области МО, то он открывает возможности проще вступить на неизведанную тропу для веб-разработчиков и разработчиков приложений, которые в значительной степени уже хорошо с ним знакомы. Однако нынешняя JavaScript-экосистема для МО все еще выглядит незрелой, поэтому поддержка этого типа разработки в настоящее время ограничена. Помимо этого ей недостает функций для работы с данными, которые в таких языках, как R и Python, присутствуют по умолчанию.

C++. Это самый старый среди наиболее распространенных на сегодняшний день языков программирования. Он был создан в недрах Bell Labs в начале как научно-исследовательский проект, направленный на расширение возможностей языка Си. Обладая возможностями одновременно как низкоуровневого, так и высокоуровневого языка программирования, в контексте МО C++ обеспечивает более высокий уровень контроля и эффективности, чем другие языки программирования.

Гибкость языка хорошо подходит для ресурсоемких приложений, и подмножество программ МО здесь — не исключение. Учитывая, что C++ — статически типизированный язык, он может выполнять задачи с относительно высокой скоростью.

Что касается его минусов, то основным из них является то, что для создания новых приложений на базе C++ требуется написание большого объема сложного кода, что занимает много времени и может вызвать большие трудности в обслуживании. Язык C++ определенно сложен в овладении и, создавая на нем новые проекты, начинающие программисты очень часто допускают невынужденные ошибки.

Java. За созданием Java стоит Sun Microsystems. Появившийся в середине он изначально замышлялся как высокоуровневый и объектно-ориентированный язык программирования, который во многом напоминает по структуре C++. Обладая огромной популярностью, Java может похвастаться широким спектром алгоритмов, которые очень полезны для сообщества разработчиков софта МО. Во многом Java считается одним из самых безопасных языков программирования благодаря использованию байт-кода и песочниц.

Его можно обозначить как удачную инкарнацию C++ (Java обладает большинством функционала, заложенным в C++), которая лишена недостатков последнего — проблем с безопасностью кодовой базы и сложностью компиляции.

Несмотря на все свои преимущества, Java имеет репутацию более медленного языка, чем многие другие языки программирования и в том числе C++. Кроме того, начиная с 2020 г. для написания определенных бизнес-приложений на Java требуется коммерческое лицензирование, что выльется в дополнительные расходы для предприятий.

Выводы

Python — самый популярный из всех языков программирования, применяемых в МО. Тем не менее, сбрасывать со счетов JavaScript и ряд некоторых других языков, может быть непредусмотрительно. Это связано с тем, что со временем их популярность будет расти, отражая изменения бизнес-ландшафта. Что касается тенденций программирования, то можно с уверенностью сказать, что в ближайшие несколько лет написание кода останется востребованной функцией, однако оно станет менее ориентированным на код и больше на функционал, поскольку машины сами научатся писать код.

Гид по машинному обучению для нетехнологических специалистов: блоги, новости, проекты и влиятельные персоны Материал редакции

Основатель новостной рассылки Machine Learnings Сэм Дебруль опубликовал в своём блоге на Medium гид по технологиям машинного обучения для тех, кто не является техническим специалистом. В список вошли полезные блоги, новостные ресурсы и люди, за публикациями которых стоит следить. Редакция vc.ru публикует список полностью.

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

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

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

Лучшие Open Source проекты по машинному обучению. Часть 1

С каждым годом искусственного интеллекта становится всё больше. Это связано с тем, что машинное обучение открыло новые возможности и перспективы для самых разных областей: от распознавания лиц и голоса до обработки языка, изображений, кинофильмов и т. д. Итак, предлагаем вашему вниманию 20 наиболее известных опенсорсных проектов по Machine Learning.

TensorFlow

TensorFlow — открытая библиотека для создания и тренировки нейронных сетей. Предоставляет API для облачной, мобильной, десктопной и веб-разработки. Поначалу создавалась командой Google Brain для внутреннего использования. Имеет интерфейсы для Swift и Javascript. Последняя версия поддерживает высокоуровневый API Keras, который написан на Python и работает поверх CNTK, TensorFlow и Theano.

Мастер Йода рекомендует:  Вопрос дня не поздно ли начинать карьеру программиста в 40 лет

Scikit-learn

Эту библиотеку разработали во время реализации проекта Google Summer of Code. Она предоставляет пользователям простые, но достаточно эффективные инструменты, предназначенные для глубокого анализа данных. А за счёт простоты и удобства Scikit-learn не уступает по популярности TensorFlow.

MXNet

Фреймворк Deep learning от Apache. Создавался с упором на гибкость и продуктивность, поэтому позволяет комбинировать императивное и символическое программирование.

PyTorch

Очень популярная библиотека среди фанатов Machine Learning. Создана на базе Torch, развивается в стенах Facebook. По сути, это пакет Python, поддерживающий тензорные вычисления с GPU-ускорением и работу с нейросетями через систему autograd.

Magenta

Исследовательский проект, который демонстрирует мощный потенциал машинного обучения при создании музыки и произведений искусства. Позволяет генерировать музыку и изображения. Расширяет творческие возможности музыкантов и художников. Основной репозиторий предназначен для применения с Python, однако есть версия и для JavaScript.

Style2Paints

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

Image-to-image translation in PyTorch

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

Deep voice conversion

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

StarGAN in PyTorch

Проект объединённой генеративно-состязательной сети, предназначенной для трансформации изображений с помощью PyTorch. Позволяет менять цвет кожи, пол, возраст, причёски и даже настроение людей на фотографиях.

Face detection

Библиотека используется не только для распознавания лиц, но и для определения пола и эмоций изображённых людей, делая это в реальном времени. Для работы применяются датасеты fer2013/IMDB, библиотека компьютерного зрения OpenCV, сверхточная нейросесть Keras.

Продолжение здесь! Также ждём ваших комментариев!

5 мощных проектов по машинному обучению для начинающих

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

5 мощных проектов по машинному обучению для начинающих

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

Комментарии (11)

Марат Бикмухаметов

Евгений Колесов

Что такое машинное обучение в двух словах? Кто может объяснить?

Pax Master

Евгений, нейронные сети

Роман Доронин

Pax, �� -Что такое математика в двух словах? -Теория множеств.

Андрей Бурмистров

Роман, а что изучает современная математика? Можно одним словом)

Роман Доронин

Андрей Бурмистров

Роман, неа, структуры)

Роман Доронин

Андрей, ну ну тебе виднее.

Андрей Бурмистров

Роман, естественно нет. Я не с мехмата МГУ) виднее тебе. Но ответ то всё равно структуры)

Роман Доронин

Андрей, хочешь думать, что структуры, пожалуйста. У нас демократия, кто-то в аксиому выбора не верит, кто-то в бесконечность, а есть и Катющик, который комплексные числа не признает.

Андрей Бурмистров

Роман, Катющик не признает здравый смысл) Хотя говорит об обратном=) Примерно о том, что он как раз и является воплощением здравого смысла)

О проекте

Данный сайт является агрегатором контента из популярных социальных сетей. Добавление новых материалов производится в автоматическом режиме. Администрация проекта не несет ответственности за их содержание.

15 книг по машинному обучению для начинающих

Подборка книг по Machine Learning для тех, кто хочет разобраться, что да как.

Книги по машинному обучению на русском

Сначала изучите азы статистической теории машинного обучения, игр с предсказаниями и прогнозирования с применением экспертной стратегии. Их основы прекрасно объясняет автор книги, доктор физико-математических наук Владимир Вьюгин. Пособие рассчитано на студентов и аспирантов и в доступной форме излагает математические основы, необходимые для дальнейшей работы с машинным обучением.

Книга, благодаря которой даже ничего не смыслящие в математике и статистике люди поймут, что такое алгоритмы машинного обучения и каково их применение в жизни. Профессор Педро Домингос рассказывает о пяти основных школах Machine Learning и о том, как они используют идеи из различных областей научного знания — нейробиологии, физики, статистики, биологии, — чтобы помогать людям решать сложные задачи и упрощать рутину с помощью алгоритмов.

3. «Машинное обучение» Хенрик Бринк, Джозеф Ричардс, Марк Феверолф.

Эта книга 2020 года издания доступно рассказывает о Machine Learning — для тех, кто ничего не слышал об этих технологиях. В ней нет заумной статистики, математики или углубленного и подробного объяснения, как использовать тот или иной алгоритм. Авторы с легкостью объясняют, что такое машинное обучение и как его применять в повседневной жизни. Примеры в книге приводятся на языке программирования Python, который используется в том числе и в этой сфере.

Еще одна отличная книга для начинающих свой путь в программировании и анализе больших данных. Авторы утверждают, что благодаря ей читатель научится самостоятельно строить модели машинного обучения и развертывать крупномасштабные приложения для прогнозирования. В книге рассказывается о том, какие алгоритмы входят в семейство масштабируемых, что они из себя представляют и как с их помощью обрабатывать большие файлы. Также вы узнаете, что такое вычислительная парадигма MapReduce и как работать с машинными алгоритмами на платформах Hadoop и Spark на языке Python.

Книга для новичков, осваивающих Python и машинное обучение. Издание содержит подробные мануалы даже по таким нюансам, как установка специализированного приложения Jupyter Notebook.

В книге рассматриваются основы Machine Learning, возможности самых мощных библиотек Python для анализа данных и дается ответ на вопрос, почему этот язык — один из лидеров в Data Science.

6. «Методы обработки и распознавания изображений лиц в задачах биометрии» Георгий Кухарев, Екатерина Каменская, Юрий Матвеев, Надежда Щеголева

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

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

8. «Обучение с подкреплением» Ричард С. Саттон, Эндрю Г. Барто.

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

Книги по машинному обучению на английском

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

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

Эта книга — не учебное пособие, сборник практических задач или теоретических изысканий. Это своеобразный «мостик» от теории к практике машинного обучения. С ее помощью читатель может подготовиться к дальнейшему изучению темы Machine Learning и науки о данных.

В этом пособии концептуально описываются идеи науки о данных, то есть без сложных математических формул и понятий. В ней множество иллюстративных примеров, которые еще больше раскрывают суть написанного. Охват книги широк: от контролируемого обучения (прогнозирования) до обучения без учителя. Рассматриваемые темы включают нейронные сети, методы опорных векторов, деревья классификации и бустинг. Авторы книги — преподающие профессора, создатели учебных пособий и инструментов интеллектуального анализа данных.

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

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

Учебное пособие для студентов первого курса. Его часто используют в роли введения в Data Science во множестве обучающих университетских программ. Если вам интересно проектирование нейросетей именно для создания искусственного интеллекта, рекомендуем ее как первую книгу на эту тему.


15. «Learning From Data» Yaser S. Abu-Mostafa, Malik Magdon-Ismail, Hsuan-Tien Lin.

Книга носит подзаголовок «A short course» и кратко знакомит читателя с основами машинного обучения. Если вы только начали вникать, что происходит в мире Data Science, и прочли несколько статей в интернете, то это идеальный вариант, чтобы разобраться в предмете чуть глубже.

Машинное обучение
Machine Learning

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

Содержание

Машинное обучение — класс методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач. Для построения таких методов используются средства математической статистики, численных методов, методов оптимизации, теории вероятностей, теории графов, различные техники работы с данными в цифровой форме. По данным HeadHunter (данные 2020 года), специалисты по машинному обучению получают 130–300 тысяч рублей, и крупные компании ведут ожесточенную борьбу за них.

Рост числа AI/ML-проектов в России почти в 3 раза за 2 года и 9 месяцев

14 октября 2020 года компания «Инфосистемы Джет» сообщила, что проанализировала более 360 AI/ML-проектов с начала 2020 года по сентябрь 2020, реализованных в России. Исследование показало рост более чем в три раза.

Аналитики «Инфосистемы Джет» отмечают, что в 2020 году был взрывной рост популярности проектов по машинному обучению (ML). На один проект 2020 года приходится 2,7 проекта 2020.

В 2020 году количество проектов продолжило увеличиваться относительно 2020 года (примерно на 10%), тем не менее кардинально изменилась их структура. Если в 2020 году это были точечные проекты ИТ-компаний, то в 2020 – искусственный интеллект стал полностью работающей технологией, которую применяют во многих отраслях. Кроме того, тестовых (пилотных) проектов стало значительно меньше относительно аналогичных показателей 2020 года.

Что же касается отраслевого применения, лидерство по-прежнему принадлежит банковской отрасли (20%) и ритейлу (20%), где достаточно данных, высокая конкуренция и есть бюджет на внедрения. В 2020 году технологии ИИ пришли и в промышленность – этой сфере принадлежит каждый 14-й проект.

В пятерке лидеров присутствуют компании-агрегаторы (например, Яндекс), которые предлагают сервисы почты, перевода, транспортные услуги и т. д., а также рекламные и туристические компании.

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

Software 2.0: Как новый подход к разработке ПО заставит компьютеры поумнеть

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

IBM запустила портал с бесплатными наборами данных для машинного обучения в компаниях

16 июля 2020 года IBM запустила портал с бесплатными наборами данных для машинного обучения в компания. Компания называет IBM Data Asset eXchange (DAX) уникальным проектом для корпоративных клиентов, несмотря на присутствие в интернете (например, на GitHub) большого количества открытых массивов данных. Подробнее здесь.

10 лучших языков программирования для машинного обучения — GitHub

В январе 2020 года сервис для хостинга ИТ-проектов и их совместного развития GitHub опубликовал рейтинг самых популярных языков программирования, используемых для машинного обучения (МО). Список составлен на основе количества репозиториев, авторы которых указывают, что в их приложениях используются МО-алгоритмы. Подробнее здесь.

2020: Проблемы машинного обучения — IBM

27 февраля 2020 года технический директор IBM Watson Роб Хай (Rob High) заявил, что в настоящее время основная задача машинного обучения – ограничить объем данных, требующихся для обучения нейросетей. Хай полагает, что есть все основания считать эту проблему вполне разрешимой. Его мнение разделяют и коллеги: так руководитель разработки технологий искусственного интеллекта (ИИ) Google Джон Джаннандреа (John Giannandrea) заметил, что его компания также занята этой проблемой.

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

Хай, однако, считает, что это проблема разрешима, ведь мозг людей научился с ней справляться. Когда человек сталкивается с новой задачей, в ход идет накопленный опыт действий в подобных ситуациях. Именно контекстуальное мышление и предлагает использовать Хай. Также в этом может помочь технология переноса обучения (transfer learning), то есть возможность взять уже обученную ИИ-модель и использовать ее данные для обучения другой нейросети, данных для которой существенно меньше.

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

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

Хай отмечает, что ИИ не обязательно должен отражать эти аспекты в антропоморфной форме, однако какие-то ответные сигналы, например, визуальные, поступать должны. В то же время большинство ИИ должно для начала разобраться в сути вопросов и научиться ориентироваться в контексте, особенно в том, как данный вопрос связан с предыдущими.

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

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

В качестве примера Хай привел совместный проект IBM и онкологического центра Sloan Kettering. Они подготовили ИИ-алгоритм, основанный на работе лучших онкологических хирургов.

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

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

Опасения по поводу предвзятости ИИ разделяет и Джаннандреа. Осенью прошлого года он заявил, что боится не восстания разумных роботов, а предвзятости искусственного интеллекта. Эта проблема становится тем значительнее, чем больше технология проникает в такие области, как медицина или юриспруденция, и чем больше людей без технического образования начинают ее использовать. [1]

Мастер Йода рекомендует:  Как оживить свой сайт 5 инструментов для анимации в современном WEB

3% компаний используют машинное обучение — ServiceNow

В октябре 2020 года производитель облачных решений для автоматизации бизнес-процессов ServiceNow опубликовал результаты исследования, посвященного внедрению технологий машинного обучения в компаниях. Совместно с исследовательским центром Oxford Economics было опрошено 500 ИТ-директоров в 11 странах.

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

Так, 40% организаций и предприятий исследуют возможности и планируют стадии внедрения таких технологий. 26% компаний ведут пилотные проекты, 20% — применяют машинное обучение для отдельных областей бизнеса, а 3% — задействуют его для всей своей деятельности.

По словам 53% ИТ-директоров, машинное обучение является ключевым и приоритетным направлением, для развития которого компании ищут соответствующих специалистов.

К октябрю 2020 года наиболее высокое проникновение машинного обучения имеет место в Северной Америке: 72% компаний находятся на какой-либо стадии изучения, тестирования или использования технологий. В Азии этот показатель составляет 61%, в Европе — 58%.

Около 90% ИТ-директоров говорят, что автоматизация повышает точность и скорость принятия решений. По мнению больше половины (52%) участников опроса, машинное обучение помогает автоматизировать не только рутинные задачи (например, вывод предупреждений о киберугрозах), но и более сложные рабочие нагрузки, такие как способы реагирования на хакерские атаки.

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

Самая многообещающая технология. Чем вызвано всеобщее помешательство на машинном обучении?

Машинное обучение, по мнению аналитиков, является самым многообещающим технологическим трендом современности. Как возникла эта технология и почему стала столь востребованной? На каких принципах строится машинное обучение? Какие перспективы открывает для бизнеса? Ответы на эти вопросы дает материал, который для TAdviser подготовил журналист Леонид Черняк.

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

Тому свидетельство — «кривая ажиотажа» (Gartner’s Hype Cycle), датированная августом 2020 года. На ней ML занимает позицию на пике ожиданий. В отчете этой аналитической компании подчеркивается, что нынешний всплеск интереса к Искусственному интеллекту (ИИ) вообще и ML, в частности, следует отличать от неоправдавшихся ожиданий прошлых десятилетий, приведших к временному забвению ИИ.

Все то, что происходит в 2020-2020 годах, более прозаично и прагматично, лишено романтических обещаний относительно антропоморфных технологий, имитирующих человеческий мозг. Нет никаких рассуждений о мыслящих машинах и тем более угрозах со стороны роботов. В отчете Gartner цитируется «циничное» и явно неприемлемое для сторонников сильного ИИ высказывание вице-президента IBM по исследованиям Джона Келли:

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

Как бы не был велик интерес к ML, неверно отождествлять весь когнитивный компьютинг (Cognitive Computing, CC) исключительно с ML. Собственно CC – это составляющая ИИ, целостная экосистема, частью которой служит ML. К тому же CC включает в себя и автоматическое принятие решений, и распознавание аудио и видео данных, машинное зрение, обработку текстов на естественных языках и еще многое другое.

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

ML – это обучение систем, обладающих элементами слабого ИИ. Сильным ИИ (Strong AI) называют обобщенный искусственный разум (Artificial general intelligence), который теоретически может быть воплощен некоторой гипотетической машиной, проявляющей мыслительные способности, сравнимые с человеческими способностями.

Сильный ИИ наделяют такими чертами, как:

  • способность ощущать (sentience),
  • способность выносить суждения (sapience),
  • самоанализ (self-awareness) и даже
  • самосознание (consciousness).

А Слабым ИИ (Weak AI) называют не имеющий разума и умственных способностей (Non-sentient computer intelligence), ИИ, ориентированный на решение прикладных задач.

Будучи частью слабого ИИ, ML, тем не менее, имеет общие черты с обучением человека, обнаруженные психологами в начале XX века. Тогда было выявлено несколько теоретически возможных подходов к обучению как процессу передачи знаний. Причем один из подходов, названный когнитивным обучением, напрямую соответствует ML.

Обучаемому, в нашем случае ИИ, предъявляются те или иные образы в доступной ему форме. Для восприятия передаваемых знаний со стороны обучаемого достаточно обладать соответствующими способностями и стимулами. Основа теории когнитивного обучения была разработана швейцарским психологом Жаном Пиаже (1896 – 1980). Он, в свою очередь, использовал труды в области гештальтпсихологии, разработанной немецким и позже американским психологом Вольфгангом Келером (1887—1967).

Теория когнитивного обучения строится на основе предположения, что человек обладает способностью к обучению, имеет необходимые стимулы и может структурировать и сохранять накопленную информацию. То же самое относится к ML. Его можно считать версией когнитивного обучения, но адаптированного для компьютера.

История ML, как и многое другое в искусственном интеллекте, началась, казалось бы, с многообещающих работ в 1950-х — 1960-х годах. Затем последовал длительный период накопления знаний, известный как «зима искусственного интеллекта». В самые последние годы наблюдается взрывной интерес главным образом к одному из направлений — глубинному, или глубокому обучению (deep leаrning).

Первопроходцами ML были Артур Сэмюэль, Джозеф Вейцбаум и Фрэнк Розенблатт. Первый получил широкую известность созданием в 1952 году самообучающейся программы Checkers-playing, умевшей, как следует из названия, играть в шашки. Возможно, более значимым для потомков оказалось его участие вместе с Дональдом Кнутом в проекте TeX, результатом которого стала система компьютерной верстки, вот уже почти 40 лет не имеющая себе равных для подготовки математических текстов. Второй в 1966 году написал виртуального собеседника ELIZA, способного имитировать (а скорее, пародировать) диалог с психотерапевтом. Очевидно, что своим названием программа обязана героине из пьесы Бернарда Шоу. А дальше всех пошел Розенблатт. Он в конце 1950-х в Корнелльском университете построил систему Mark I Perceptron, которую условно можно признать первым нейрокомпьютером.

В шестидесятые-семидесятые XX века сложились основные научные принципы ML. В современном представлении ML объединяет в себе ранее независимые направления:

  • нейронные сети (neural networks),
  • обучение по прецедентам (case-based learning),
  • генетические алгоритмы (genetic algorithms),
  • выводы правил (rule induction) и
  • аналитическое обучение (analytic learning).

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

Неформально ML можно представить следующим образом. Берутся описания отдельных прецедентов, которые называют обучающей выборкой. Далее по совокупности отдельных фрагментов данных удается выявить общие свойства (зависимости, закономерности, взаимосвязи), присущие не только этой конкретной выборке, использованной для обучения, но и вообще всем прецедентам, в том числе тем, которые ещё не наблюдались. Алгоритмы обучения (learning algorithm) и настройки (fitting) модели по выборке данных позволяют найти оптимальный набор параметров модели, а затем использовать обученную модель для решения тех или иных прикладных задач.

В целом ML можно представить формулой:

Обучение = Представление + Оценка + Оптимизация

  • Представление — представление классифицируемого элемента на формальном языке, который машина может интерпретировать
  • Оценка — функция, позволяющая выделить плохие и хорошие классификаторы
  • Оптимизация – поиск наилучших классификаторов

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

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

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

Выход из этого положения был предложен В. Н. Вапником и А. Я. Червоненкисом в разработанной ими теории восстановления зависимостей, признанной во всем мире в восьмидесятые годы и ставшей одним из наиболее важных разделов теории вычислительного обучения.

Переходу от теории к практике ML, случившемуся в XXI веке, способствовали работы в области глубинных нейронных сетей (Deep Neural Network, DNN). Считается, что собственно термин deep learning был предложен в 1986 году Риной Дехтер, хотя подлинная история его появления, вероятно, сложнее.

К середине 2000-х была накоплена критическая масса знаний в области DNN и, как всегда в таких случаях, кто-то отрывается от пелотона и получает майку лидера. Так было и, видимо, будет в науке всегда. В данном случае в роли лидера оказался Джефри Хинтон, британский ученый, продолживший свою карьеру в Канаде. C 2006 года он сам и вместе с коллегами начал публиковать многочисленные статьи, посвященные DNN, в том числе и в научно-популярном журнале Nature, чем заслужил себе прижизненную славу классика. Вокруг него образовалось сильное и сплоченное сообщество, которое несколько лет работало, как теперь говорят, «в невидимом режиме». Его члены сами называют себя «заговорщиками глубинного обучения» (Deep Learning Conspiracy) или даже «канадской мафией» (Canadian maffia).

Образовалось ведущее трио: Ян Лекун, Иешуа Бенджо и Джефри Хинтон. Их еще называют LBH (LeCun & Bengio & Hinton). Выход LBH из подполья был хорошо подготовлен и поддержан компаниями Google, Facebook и Microsoft. С LBH активно сотрудничал Эндрю Ын, работавший в МТИ и Беркли, а теперь возглавляющий исследования в области искусственного интеллекта в лаборатории Baidu. Он связал глубинное обучение с графическими процессорами.

Нынешний успех ML и всеобщее признание стали возможны благодаря трем обстоятельствам:

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

2. Сформировалась необходимая процессорная база. Известно, что решение задач ML распадается на две фазы. На первой выполняется обучение искусственной нейронной сети (тренировка). На протяжении этого этапа нужно параллельно обработать большое количество образцов. На данный момент для этой цели нет альтернативы графическим процессорам GPU, в подавляющем большинстве случаев используют GPU Nvidia. Для работы обученной нейронной сети могут быть использованы обычные высокопроизводительные процессоры CPU. Это распределение функций между типами процессоров вскоре может претерпеть существенные изменения. Во-первых, уже в 2020 году Intel обещает выпустить на рынок специализированный процессор Nervana, который будет на порядка производительнее, чем GPU. Во-вторых, появляются новые типы программируемых матриц FPGA и больших специализированных схем ASIC, и специализированный процессор Google TensorFlow Processing Unit (TPU).

3. Создание библиотек для программного обеспечения ML. По состоянию на 2020 год их насчитывается более 50. Вот только некоторые, наиболее известные: TensorFlow, Theano, Keras, Lasagne, Caffe, DSSTNE, Wolfram Mathematica. Список можно продолжить. Практически все они поддерживают прикладной интерфейс OpenMP, языки Pyton, Java и C++ и платформу CUDA.

Будущая сфера применения ML, без всякого преувеличения, необозрима. В контексте Четвертой промышленной революции наиболее значимая роль ML заключается в расширении потенциала области Business Intelligence (BI), название которой условно переводится как «бизнес-аналитика».

В дополнение к традиционному в большей мере количественному для BI вопросу: «Что происходит в бизнесе?», с помощь ML можно будет отвечать и на такие: «Что и почему мы делаем?», «Как можем делать это лучше?», «Что нам следует делать?» и подобные качественные и содержательные вопросы.

О машинном обучении на простых примерах

Что такое машинное обучение?

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

Такой подход отличается от классического программирования: при «обучении» программе показывают много примеров и учат находить в них закономерности. Схожим образом учатся люди — вместо словесного описания собаки ребенку просто показывают собаку и говорят, что это. Если такой программе показать, например, миллион фотографий онкологических образований на коже, она научится диагностировать рак [2] по снимку лучше, чем живой специалист [3] .

Почему обучение моделей настолько сложное?

Представьте, что я обучаю машину, используя группу людей. и здесь золотое правило состоит в том, что они должны быть в равной степени заинтересованы и ознакомлены с процессом, так что, скажем, я не могу взять пять программистов и четырех вчерашних студентов. Нужно стараться подбирать людей либо совершенно в случайном порядке, либо по одинаковым интересам. Есть два способа сделать это. Вы показываете им много, очень много картинок. Вы показываете им изображения гор вперемежку с фотографиями верблюдов, а также изображения предметов, которые практически в точности похожи на горы, например, мороженое в вафельном стаканчике. И вы просите их сказать, что из этих предметов можно назвать горой. При этом машина наблюдает за людьми и на основании их поведения в процессе выбора изображений с горами она также начинает выбирать горы. Такой подход называется эвристическим, — пишет автор PCWeek Майкл Кригсман [4]

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

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

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

Чем это отличается от классического программирования?

Изначально этот процесс происходил в игровой форме или заключался в идентификации изображений. Тогдашние исследователи просили участников играть в игры или помогать в обучении простыми утверждениями вроде «Это гора», «Это не гора», «Это гора Фудзи», «Это гора Килиманджаро». Так что у них накопился набор слов. У них была группа людей, использовавших слова для описания изображений (например, в проекте Amazon Mechanical Turk).

Используя эти методики, они фактически отобрали набор слов и сказали: «Итак, слово „гора` часто ассоциируется с тем-то и тем-то, и между словом „гора` и этим изображением наблюдается высокая статистическая корреляция. Так что если люди ищут информацию о горах, покажите им это изображение. Если они ищут гору Фудзи, покажите им это изображение, а не то». В этом и состоял прием совместного использования человеческого мозга и описательных слов. По состоянию на 2020 год этот прием не единственный. На данный момент существует множество более изощренных методик.

Смогу ли я применить машинное обучение в своем бизнесе?

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

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

Добавить комментарий