Как научиться ИИ с нуля [Руководство 2023]
Искусственный интеллект — увлекательная и развивающаяся область. Хотя нам еще далеко до роботов-слуг, изображенных в научно-фантастических фильмах, ИИ уже стал частью нашей повседневной жизни. В то время как некоторые приложения ИИ, такие как автономные автомобили, все еще находятся на стадии разработки, другие области применения, такие как прогнозный анализ, уже существуют.
ИИ — это универсальная область с приложениями во всех отраслях, а это означает, что рабочие места, связанные с ИИ, пользуются большим спросом. Опрос McKinsey показал, что ИИ все чаще используется для оптимизации работы сервисов, улучшения продуктов, моделирования рисков и предотвращения мошенничества. Ожидается, что с настоящего времени до 2030 года спрос на рабочие места в области компьютерных и информационных исследований вырастет на 22%.
Что такое искусственный интеллект?
Искусственный интеллект — это создание компьютерных программ, которые могут имитировать задачи, связанные с человеческим интеллектом. ИИ решает проблемы с помощью компьютерного программирования и больших наборов данных.Область искусственного интеллекта включает в себя машинное обучение, глубокое обучение и обработку естественного языка, которые позволяют компьютерам «учиться» на опыте и выполнять задачи, подобные человеческим, часто гораздо более эффективно, чем люди.
Этот тип ИИ называется узким или слабым ИИ. В этих случаях компьютер выполняет определенную задачу, распознавая закономерности в больших наборах данных. Некоторые примеры узкого ИИ включают рекомендации от вашей потоковой платформы, шахматных ботов и умных динамиков.
Хотя узкий ИИ может адаптироваться к входным данным, он не может работать за пределами заданных параметров. Тем не менее, у него есть свое применение. Четвертая промышленная революция и ориентированный на цифровые технологии подход современного бизнеса генерируют огромные объемы данных, которые могут подпитывать узкие приложения ИИ.
Сильный ИИ, также называемый общим искусственным интеллектом (AGI), представляет собой тип искусственного интеллекта, связанный с роботами в научно-фантастических сюжетах. Этот тип ИИ не появится в ближайшее время, хотя разработчики работают над преодолением проблем, связанных с ОИИ, таких как модели прогнозирования и управления.
Зачем изучать ИИ?
ИИ — это захватывающая область, находящаяся в авангарде поиска решений самых насущных проблем общества, включая болезни, загрязнение окружающей среды и изменение климата. Это также быстрорастущий сектор экономики: ожидается, что доходы от программного обеспечения для ИИ увеличатся на 21,3% по сравнению с предыдущим годом и составят в общей сложности 62,5 млрд долларов в 2022 году. Изучая ИИ, вы будете готовы к сложной и полезной карьере, которая оплачивается. тоже хорошо. Средняя базовая зарплата инженера по искусственному интеллекту составляет более 119 000 долларов.
Что делает ИИ-инженер?
Роли и обязанности инженера по искусственному интеллекту будут различаться в зависимости от отрасли, но в целом инженеры по искусственному интеллекту разрабатывают системы и приложения искусственного интеллекта, чтобы принимать более обоснованные решения, повышать производительность и повышать эффективность. Разработка искусственного интеллекта — это сложная работа, которая требует от вас:
- Достигайте целей, используя методы ИИ
- Решайте задачи с помощью логики, вероятностного анализа и машинного обучения.
- Мониторинг и управление проектами разработки путем анализа систем
- Понимать и применять лучшие практики в области распознавания речи, обработки данных, интеллектуального анализа данных и робототехники.
8 шагов для эффективного изучения ИИ
- Понимание предпосылок
- Первоклассная теория ИИ
- Обработка основных данных
- Работа над проектами ИИ
- Учитесь и работайте с инструментами ИИ
- Выбирайте курсы ИИ
- Подать заявку на стажировку
- Получить работу
Одно из самых больших препятствий для изучения ИИ — это незнание, с чего начать. Это обширная область, состоящая из многих компонентов. Многие из концепций, связанных с ИИ, основаны на продвинутой математике и формальной логике, что может стать препятствием для вступления в отрасль. Чтобы помочь вам преодолеть эти препятствия, мы разбили область ИИ на понятное пошаговое руководство по овладению искусством.
Понимание предпосылок
Прежде чем приступить к изучению ИИ, вы должны иметь прочную основу в следующих областях.
Основы информатики
Вам нужно будет понять фундаментальные принципы информатики, прежде чем вы сможете начать программировать ИИ. Это включает:
- Теория и алгоритмы, такие как булева алгебра, бинарная математика и теория вычислений.
- Компьютерные аппаратные системы, включая физические компоненты компьютеров, цифровую логику, компьютерную архитектуру и сетевую архитектуру.
- Программные системы и элементы, такие как языки программирования, компиляторы, компьютерная графика и операционные системы.
вероятность и статистика
Вероятность — один из основных принципов, используемых в ИИ, поскольку она позволяет научить компьютер «рассуждать» в условиях неопределенности. Машины учатся через данные, которые они понимают через статистику. Вероятность и статистика могут ответить на такие вопросы, как:
- Каков наиболее частый исход?
- Каков ожидаемый результат?
- Как выглядят данные?
Вероятность и статистика для ИИ должны включать некоторые из следующих тем:
- Численное и графическое описание данных
- Элементы вероятности
- Распределения выборки
- Функции распределения вероятностей
- Оценка параметров популяции
- Тесты гипотез
Математика
В дополнение к вероятности и статистике вам необходимо знать некоторые математические основы, чтобы освоить ИИ, в том числе:
- Линейная алгебра, необходимая для понимания подходов к искусственному интеллекту и машинному обучению.
- Базовый дифференциал и некоторое исчисление с несколькими переменными, которое касается изменений параметров, функций, ошибок и приближений.
- Координатные и нелинейные преобразования — ключевые идеи ИИ.
- Линейная регрессия и регрессия более высокого порядка для прогнозирования на основе наборов данных
- Логистическая регрессия для классификации данных
- Численный анализ для превращения математических формул в эффективный код
Программирование
Вы также захотите ознакомиться с языками программирования, подходящими для разработки приложений ИИ. Некоторые из наиболее полезных включают в себя:
- Python, который прост в освоении и имеет широко доступные ресурсы и поддержку.
- Java, который удобен для пользователя и не зависит от платформы
- R, созданный для обработки больших наборов данных.
- Пролог, который был использован для создания первого в мире чат-бота-терапевта Элизы в 1966 году.
- Лисп, второй по возрасту язык программирования, предшествующий только Фортрану.
- SQL, который используется для управления базами данных
Структуры данных
Чтобы учиться, ИИ требует ввода в виде данных. Структуры данных — это различные методы организации данных для эффективного использования. Если вы хотите начать карьеру в области ИИ, вам нужно понять, как использовать и применять наиболее подходящую структуру данных для вашей программы. Некоторые из наиболее распространенных типов структур данных:
- Множество
- Связанный список
- Куча
- Очередь
- Бинарное дерево
- Бинарное дерево поиска
- куча
- Хеширование
- График
- Матрица
Алгоритмы
Алгоритм дает пошаговые методы выполнения расчета. Чтобы облегчить машинное обучение, вам придется разработать алгоритмы, которые позволят компьютеру учиться самостоятельно. Алгоритмы могут использовать интеллектуальный анализ данных и распознавание образов, чтобы давать рекомендации.Именно так приложения рекомендуют вам сериалы для просмотра и как Facebook решает, что показывать в вашей ленте.
Алгоритмы также используются для более важных целей, таких как одобрение ипотечных кредитов и вынесение приговоров к тюремному заключению. Алгоритмы — мощные инструменты, но они не так объективны, как иногда кажутся, а огромные объемы данных могут привести к некоторым ложным корреляциям. Таким образом, алгоритмы должны согласовываться с здравым смыслом человеческого разума.
Первоклассная теория ИИ
После того, как вы изучили предварительные условия, вы готовы погрузиться в теорию ИИ. Независимо от того, изучаете ли вы ИИ на очных занятиях, с помощью самостоятельного онлайн-курса или поэтапно с помощью видео на YouTube, вам необходимо охватить одни и те же основные теоретические концепции. Вот некоторые из наиболее важных принципов, которые вам необходимо усвоить:
Решение проблем
Целью ИИ является решение проблемы, для чего используется ряд методов, включая алгоритмы и эвристики. Система ИИ включает в себя агента и его среду. В ИИ агент — это программа, которая принимает решения. Агент решения проблем в ИИ сосредоточен на достижении своей цели. Как только цель сформулирована, процесс решения проблемы создается путем формулирования проблемы. Это включает в себя несколько компонентов, в том числе:
- Начальное состояние агента
- Возможные действия, которые может предпринять агент
- Модель транзакции, описывающая каждое действие
- Целевой тест, чтобы определить, была ли цель достигнута
- Стоимость каждого пути действия
Рассуждение
Рассуждение — это процесс делать выводы или делать прогнозы на основе имеющихся знаний. Поскольку машины не способны мыслить, их нужно запрограммировать на такие рассуждения с помощью алгоритмов. Когда вы программируете ИИ для получения выводов, вам нужно научить его выполнять задачу на основе одного из нескольких методов рассуждения, таких как следующие.
Дедуктивное мышление. Этот тип рассуждений использует существующие данные, чтобы определить, верна ли посылка аргумента.Это своего рода рассуждение, которое применяет общие принципы к конкретному случаю. Если вы когда-нибудь проходили вводный курс логики, вы, вероятно, помните базовый пример дедуктивного мышления: если все люди смертны, а Сократ — человек, то Сократ смертен.
Индуктивное мышление. В отличие от дедуктивного рассуждения, индуктивное рассуждение делает общий вывод из конкретных наблюдений. В индуктивных рассуждениях вывод может быть ложным, даже если все наблюдения верны. Например, вы можете заметить, что все собаки в вашем районе коричневые, и прийти к ошибочному выводу, что все собаки коричневые. В ИИ контролируемое обучение использует индуктивное рассуждение для обобщения конкретных данных. Чем полнее база данных, тем лучше будут ее обобщения.
Абдуктивное рассуждение. Абдуктивное рассуждение — это процесс вывода, который, скорее всего, соответствует наблюдениям. Этот тип рассуждений используется врачами для постановки медицинских диагнозов. Абдуктивное рассуждение похоже на дедуктивное рассуждение, но посылка не гарантирует вывод. В ИИ этот тип рассуждений может использоваться программой диагностического помощника, чтобы предложить диагноз на основе симптомов, которые проявляет пациент.
Рассуждения здравого смысла. Рассуждения на основе здравого смысла — это неформальный тип рассуждений, основанный на опыте. Используя здравый смысл, а не формальные правила, он реализуется с помощью эвристических знаний и эвристических правил, которые представляют собой правила здравого смысла, предназначенные для повышения вероятности решения проблемы. Рассуждения на основе здравого смысла наиболее широко используются в области искусственного интеллекта для обработки естественного языка, чтобы помочь компьютерам более эффективно общаться с людьми.
Монотонное рассуждение. В монотонных рассуждениях вывод, сделанный однажды, никогда не изменится, даже если будут добавлены дополнительные факты. Любая теорема, доказывающая пример, использует монотонные рассуждения. Например, «Земля вращается вокруг солнца».
В ИИ монотонные рассуждения можно использовать для таких приложений, как фильтрация контента. Веб-сайт, содержащий любое количество неприемлемого контента, будет отфильтрован, и это решение никогда не изменится, даже если на веб-сайте много соответствующего контента.
Немонотонное рассуждение. В немонотонных рассуждениях вывод может быть признан недействительным, если добавляется новая информация. Неполные и неопределенные модели используют немонотонные рассуждения. Этот тип рассуждений полезен в приложениях ИИ, таких как роботизированные навигационные системы.
Манипуляция данными
ИИ полагается на наборы данных, чтобы учиться и делать прогнозы, поэтому вам нужно уметь структурировать данные в удобном формате. Вам нужно будет создать программы, которые идентифицируют связи между наборами данных. SQL — это язык программирования, используемый для управления базами данных, а R часто используется в приложениях для обработки данных.
Понимание естественного языка
Понимание естественного языка — это подмножество обработки естественного языка, которое использует программирование для понимания человеческой речи. Это позволяет компьютерам понимать человеческую речь без формального синтаксиса компьютерных языков. Понимание естественного языка также позволяет компьютерам общаться с людьми на их родном языке.
Понимание естественного языка использует алгоритмы для анализа человеческой речи и форматирования ее в виде структурированной модели данных на основе тональности, именованных объектов и числовых объектов. Голосовые помощники и чат-боты используют обработку естественного языка.
Компьютерное зрение
Компьютерное зрение — это процесс обучения компьютеров наблюдению и пониманию визуального ввода. Это позволяет компьютерам извлекать информацию из изображений, видео и других визуальных входных данных. Затем программа может использовать эту информацию для принятия мер или предоставления рекомендаций. Компьютеры могут анализировать визуальную информацию намного быстрее, чем люди, анализируя тысячи изображений в минуту.
Как и в случае с другими методами обучения ИИ, компьютерному зрению требуются большие наборы данных, чтобы замечать небольшие различия и распознавать определенные изображения. Алгоритмические модели в машинном обучении позволяют компьютеру обучаться визуальным данным.
Автоматизированное программирование
Автоматизированное программирование — это тип компьютерной программы, которая генерирует код для другой программы на основе набора спецификаций. Одним из примеров этого является AlphaCode от DeepMind, который пишет компьютерные программы достаточно хорошо, чтобы попасть в 54-й процентиль программистов-людей при тестировании в задачах кодирования.
AlphaCode был поставлен ряд задач, используемых в соревнованиях по кодированию, таких как преобразование случайной строки букв в другую случайную строку из тех же букв с использованием ограниченных входных данных. AlphaCode подошла к этой задаче, сгенерировав огромное количество возможных ответов. Затем он запустил код, проверил вывод и проверил ответ, чтобы выбрать лучший вариант.
AlphaCode — не единственный пример автоматизированного программирования: у Microsoft и OpenAI есть GPT-3, который автоматически дополняет строки кода. Автоматизированное программирование по-прежнему ограничено в возможностях, но в конечном итоге оно может сделать программирование более доступным для непрограммистов.
Познакомьтесь с другими студентами, изучающими науку о данных
Data Scientist в NPD Group