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

Технология искусственного интеллекта развивается и применяется во многих сферах жизни. Чем она отличается от традиционного программирования? В этом блоге я расскажу, что представляет собой каждый из этих типов программирования, на чём они основаны и для каких задач подходит каждый. Сначала посмотрите это видео Мартина Кина из IBM о системах ИИ и традиционном коде.

Кратко о программировании ИИ

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

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

Читайте также:IBM сообщает о росте заказов в сфере ИИ, опередив прогнозы по прибыли

Традиционное программирование (классическое обусловливание)Программирование ИИ (оперантное обусловливание)
1. Проблема? Может быть как проблемой, так и предлагаемым решением1. Сбор данных
2. Проектирование алгоритма2. Выбор модели
3. Написание кода3. Обучение (называется обучением, потому что непредсказуемо)
4. Тестирование и отладка4. Оценка (она же тестирование)
Сравнение ИИ и традиционного программирования: четыре основных этапа разработки системы.

Разницу между ИИ и традиционным программированием хорошо видно по этапам разработки. Первый язык программирования высокого уровня, появившийся в 1942 году и ставший коммерческим, называется FORTRAN (FORmula TRANslating system), его создала команда IBM. Ранние компьютеры имели ограниченные возможности и память, поэтому программистам приходилось писать программы на языке ассемблера, оптимизируя их вручную.

За десятилетия появились новые языки программирования с более совершенными подходами к обработке. Традиционное программирование применяется во многих областях, требующих безопасной и точной среды, например в бухгалтерских системах и веб-разработке. В этих сферах — обработка платежей и аутентификация пользователей — всё регулируется правилами. ИИ, напротив, представляет собой полную противоположность. Оформившись как академическая дисциплина в 1956 году, он сталкивался с препятствиями в последующие десятилетия из-за недоверия и нехватки финансирования, пока в 2012 году не наступила «весна ИИ».

Развитие глубокого обучения превзошло прежние технологии ИИ и привело к буму ИИ в 2020-х годах.

Читайте также:Человек или ИИ как инвестиционный советник: кто лучше?

Программирование ИИ и машинное обучение

Машинное обучение сыграло решающую роль в развитии ранних систем ИИ. Машинное обучение — это наука о программах, которые способны улучшать свои результаты по мере выполнения задач. Это довольно близко к идее современного генеративного ИИ: он изучает закономерности в данных и создаёт нечто новое. Разработчики назвали третий этап «обучением» из-за элементов обучения с подкреплением, которые проявляются на этапе «тестирования» (в традиционном программировании).

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

Изображение к статье

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