ru
Назад к списку

Вершины глубокого обучения

01 Май 2019 08:36, UTC
Александр БВ

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

Очень глубокое обучение

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

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

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

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

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

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

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

«Железо» систем ИИ

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

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

Существует несколько программно-аппаратных архитектур для запуска систем ИИ:

  • CUDA – разработана NVIDIA для использования с собственными графическими и тензорными процессорами.
  • OpenCL – для разработки и запуска приложений, использующих параллельные вычисления на разных устройствах разных производителей. Поддерживается и разрабатывается консорциумом крупных IT-компаний Khronos Group.
  • OpenMP – программный интерфейс для использования в задачах параллельных вычислений на большинстве аппаратных платформ. Поддерживается группой крупных производителей компьютеров и программ.

Программные решения для искусственного интеллекта

Многие инструменты, используемые разработчиками систем искусственного интеллекта, вышли из недр IT-гигантов, где были созданы и некоторое время использовались для внутреннего применения и развития собственных продуктов.

Для роста отрасли, привлечения сторонних разработчиков и распространения собственных экосистем впоследствии такие продукты переводились в статус open source-проектов и становились доступными широкому кругу пользователей. Примерами таких продуктов являются TensorFlow от Google или, например, PyTorch, поддерживаемая Facebook.

TensorFlow – это библиотека для разработки систем машинного обучения. Популярна в качестве инструмента для создания и обучения нейросетей. Разработана Google. Распространяется под лицензией Apache 2.0. IT-гигант также выпускает аппаратное решение для использования с этой библиотекой – тензорные процессоры, оптимизированные для выполнения задач тензорных (на основе многомерных массивов – тензоров) вычислений.

PyTorch – библиотека для систем машинного обучения. Основное использование – тензорные вычисления и нейросети глубокого обучения. Создана на базе Torch – другой библиотеки машинного обучения с лицензией BSD.

CNTK (Microsoft Cognitive Toolkit) – набор инструментов для разработки и создания разных нейросетей, в том числе глубокого обучения. Разработан Microsoft. Лицензия MIT.

Keras – библиотека для языка Python. Может быть запущена поверх таким систем, как CNTK, TensorFlow и Theano (больше не поддерживаемая разработчиками среда). Создана одним из разработчиков Google, François Chollet. Лицензия MIT.

Открытия в машинном обучении и при помощи нейросетей

Исследователи Мичиганского университета США, используя нейросети машинного обучения, проанализировали расшифрованный код ДНК полумиллиона жителей Великобритании в базе UK Biobank. Нейросеть научилась предсказывать рост, хрупкость костей и уровень образования людей. На очереди обучение системы для предсказания серьезных заболеваний.

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

Достижения в машинном обучении в 2018 году были не только со знаком «плюс». Есть, например, и такие: ученые опасаются, что применение нейросетей и машинного обучения уже вызвало серьезный кризис в науке. Когда исследователи дают системам ИИ наборы данных, то результаты, получаемые ими, с большим трудом могут быть правильно интерпретированы и тем более воспроизведены. Это происходит потому, что поиск закономерностей, который производит нейросеть, непонятен человеку – какие зависимости и параметры становятся итогом работы, неизвестно. Также зачастую системы машинного обучения находят закономерности там, где их нет.

Обучаемость систем ИИ не может быть доказана или опровергнута. Ученые открыли случаи, когда нет никаких шансов определить, возможно ли применение искусственного интеллекта для решения задач. Это открытие вытекает из математических парадоксов Курта Гёделя, в частности из «континуум-гипотезы». Открытие ставит серьезное ограничение для практического применения систем ИИ.

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

Куда ведет прогресс

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

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

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

Хотя...

Хотя Демис Хассабис (Demis Hassabis), глава IT-компании DeepMind (разработавшей программу, которая победила сильнейшего игрока в го на этой планете), кажется, имеет другие сведения. Когда Google купила DeepMind (а купила она эту компанию на условиях Хассабиса, оставив ему максимальный контроль), аналитики компьютерного гиганта, наверное, тоже что-то узнали.

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

Уверенность DeepMind – это маркетинговый ход, блажь, коммерчески удачная шутка или в ней есть крупица правды? Непонятно пока. Известно лишь то, что умные программы этой компании, не оставив человечеству шансов в сложнейшей игре го, теперь переключились на сетевые многопользовательские игры и уже вытесняют биологических участников с пьедестала почета. До сильного ИИ, вероятно, осталось несколько шагов… или бесконечная дорога.

Иллюстрация: AMD.com