Как обучить свой ИИ
Когда большинство людей думают об искусственном интеллекте (ИИ), на ум часто приходят идеи беспилотных автомобилей и роботов. Однако многие не перестают задумываться о том, как работает ИИ, чтобы эти удобства воплотились в жизнь. Получая большие объемы данных, ИИ обучается с помощью машинного обучения (ML) и глубокого обучения, чтобы собирать информацию из данных и автоматизировать задачи в масштабе. Машины учатся анализировать и делать прогнозы — «думать» как можно больше, как люди.
Итак, сколько времени требуется для обучения ИИ? На это могут уйти часы, недели и даже больше. Ответ действительно сводится к таким факторам, как аппаратное обеспечение, оптимизация, количество слоев в нейронной сети, размер вашего набора данных и многое другое.
Чтобы лучше понять это, давайте рассмотрим, как работает обучение ИИ и что для этого требуется.
Машинное обучение против глубокого обучения
Весь процесс обучения ИИ очень сложный и увлекательный. В области исследований искусственного интеллекта машинное обучение привлекает большое внимание и одобрение.
Машинное обучение — это разновидность ИИ, которая позволяет компьютерным системам автоматически обучаться и совершенствоваться без программирования человеком. Машинное обучение использует алгоритмы, которые обнаруживают закономерности, а затем изменяют себя по мере того, как оно подвергается воздействию большего количества данных — оно настраивается в соответствии с данными, которым оно подвергалось, подобно тому, как ребенок учится на своем опыте.
Впоследствии глубокое обучение представляет собой более специализированный подход к машинному обучению, в котором искусственные нейронные сети используются для имитации человеческого мозга при обработке данных.Компьютеры учатся посредством положительного и отрицательного подкрепления, полагаясь на непрерывную обработку и обратную связь. Примерами приложений глубокого обучения являются технологии распознавания изображений и голосовые помощники по распознаванию речи, такие как Siri или Cortana.
Глубокое обучение опирается на свои «глубокие» и многоуровневые нейронные сети. Каждый нейрон в сети состоит из математической функции, которая получает данные для преобразования и анализа в качестве выходных данных. Компьютер учится взвешивать важность каждой связи между нейронами для создания успешных прогнозов. Глубокое обучение особенно полезно, когда речь идет о решении сложных задач с различными переменными.
При машинном обучении соответствующие функции извлекаются из изображений, тогда как глубокое обучение — это сквозной процесс, в котором функции извлекаются автоматически. Глубокое обучение также имеет возможность масштабироваться с данными по мере улучшения сетей и увеличения объема данных. Однако с этим увеличением ввода данных увеличивается вычислительная мощность и время обучения.
На что похоже обучение ИИ?
Сам процесс обучения ИИ включает в себя три этапа: обучение, проверку и тестирование. Вводя данные в компьютерную систему, ее обучают производить определенный прогноз для каждого цикла. Каждый раз параметры можно корректировать, чтобы прогнозы становились более точными с каждым шагом обучения.
Затем алгоритм проверяется путем запуска данных проверки по обученной модели. На этом этапе может потребоваться корректировка новых переменных для улучшения алгоритма. После прохождения этапа проверки система может быть протестирована с реальными данными, не имеющими тегов или меток. Настало время проверить, готов ли алгоритм к использованию по назначению.
Конечно, есть способы сократить сроки обучения ИИ. Создание модели глубокого обучения с нуля может занять несколько дней или недель из-за большого объема данных и скорости обучения.
Вместо этого в большинстве приложений глубокого обучения используется процесс, называемый трансферным обучением, когда корректировки вносятся с использованием предварительно обученной модели. Настраивая существующую сеть, можно добавлять свежие данные и обучать новым результатам или задачам. Это не только требует меньше данных — от миллионов до тысяч изображений — время обучения также может сократиться до минут или часов.
Извлечение признаков — еще один метод глубокого обучения. Он включает в себя извлечение слоя из нейронной сети, которому поручено изучить определенную функцию из изображений и использовать эту функцию в качестве дополнения к другой модели машинного обучения.
Что должно быть на месте?
Хотя процесс обучения ИИ может занимать много времени, существует также несколько других требований, которые могут повлиять на процесс обучения ИИ:
Данные
Поскольку данные являются неотъемлемой частью головоломки алгоритма, ключевым моментом является наличие чистого и точно маркированного набора данных. Вводя точные данные в алгоритм, вы получите точные результаты, что приведет к более эффективному и своевременному процессу обучения. Например, для разработки беспилотных автомобилей набор данных может включать миллионы изображений и тысячи часов видео.
Аппаратное обеспечение
Глубокое обучение требует огромных вычислительных мощностей. Это означает наличие высокопроизводительных графических процессоров (GPU) в сочетании с кластерами или облачными вычислениями, чтобы сократить время обучения глубокому обучению с недель до часов. Поскольку обучение ИИ можно проводить параллельно, настройка системы, в которой вы можете тренироваться на нескольких графических процессорах или в кластере, может помочь ускорить обучение.
Наличие специального оборудования, такого как графический процессор Nvidia Tesla V100 и сервер DGX1, необходимо для интенсивного обучения. Они могут стоить немалых денег: от 10 000 долларов США за графический процессор до 149 000 долларов США за сервер. Кроме того, вы можете арендовать оборудование, размещенное в облаке, у таких поставщиков, как Amazon Web Services, Google Cloud и Microsoft Azure.
Программного обеспечения
При аренде вычислительной инфраструктуры у каждого поставщика облачных услуг есть собственное программное обеспечение для автоматизированного машинного обучения, такое как Microsoft Machine Learning Studio, Google Cloud AutoML и AWS SageMaker. Другие могут также использовать программное обеспечение для глубокого обучения, такое как TensorFlow и Pytorch от Google, для разработки моделей обучения.
Разработчики
В мире не хватает опытных разработчиков ИИ: по оценкам, менее 10 000 человек обладают соответствующими навыками для исследований в области ИИ. Специалисты по искусственному интеллекту настолько востребованы, что им платят от 300 000 до 500 000 долларов в год в виде заработной платы и акций компании, а ученых из ведущих университетов переманивают на работу в технологических гигантов. От разработчиков требуется не только наличие докторской степени. в области компьютерных наук, но также должны иметь опыт в различных дисциплинах, таких как программирование на C++, STL, и иметь опыт работы в физике или науках о жизни.
Как блокчейн может помочь в обучении ИИ
При всем при этом технология блокчейна — это новая инновация, которая может ускорить обучение ИИ. Поскольку получение больших наборов данных для обучения ИИ может быть затруднено, новые блокчейн-стартапы находят новые способы совместной работы технологий блокчейна и ИИ для децентрализации владения данными, делая их доступными для масс для совместной работы и расширения.
Например, некоторые стартапы, такие как Datum, Synapse и Computable, создают рынки данных, где участники получают токены в обмен на обмен своими данными с предприятиями. Другие стартапы, такие как Numerai, позволяют специалистам по данным предлагать модели для решения проблем машинного обучения в обмен на компенсацию в виде токенов NMR.
Конвергенция блокчейна и ИИ дает много преимуществ, в том числе тот факт, что блокчейн может помочь децентрализовать ИИ, сохраняя его независимость и автономию от какой-либо конкретной корпорации, а также обеспечивая защиту процесса с помощью зашифрованных данных.
Таким образом, в то время как обучение ИИ требует технических знаний и зачастую огромных инвестиций в процесс, новые инновации, такие как рынки данных на основе блокчейна, появляются в дополнение к этой области. Конвергенция между блокчейном и ИИ кажется следующим естественным шагом, который может стать катализатором нового темпа инноваций в обучении ИИ.