Вершины глубокого обучения
Это третья часть серии материалов 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