Будет ли вычислительная техника полностью автоматизирована?

машинное обучение искусственный интеллект программист алгоритм
Автор | Сергей Шанин
Переводчик | Лю Чжиюн
Редактор | Наталья
Руководство по передовой ИИ:Сейчас среди программистов раздаются голоса, что они обеспокоены тем, что искусственный интеллект отнимет у них работу, но что произойдет на практике? Это правда, что автоматическое программирование искусственного интеллекта по-прежнему нуждается в том, чтобы кто-то вводил спрос, иначе он не знает, что производить, а спрос постоянно меняется, в отличие от фиксированных продуктов, производимых автоматизированными беспилотными фабриками, производство программного обеспечения должно сталкиваться со сложными приложениями. поколения, и, по оценкам, сложность разработки будет намного выше, чем у автоматизированных беспилотных заводов. Более того, автоматизация тоже должна быть разделена на слои, программисты десятилетия назад наверняка подумали бы, что это слишком автоматично, увидев текущую среду разработки, но сейчас все думают, что это само собой разумеющееся. Так что, если принять во внимание постоянно меняющееся понятие «автоматизация» в устах общественности, ответ на этот вопрос, вероятно, начинается с обсуждения осуществимости искусственного интеллекта. Теперь посмотрим, как это видит Сергей Шанин.

Для более качественного контента, пожалуйста, обратите внимание на паблик WeChat "AI Frontline" (ID: ai-front)

Сейчас не время для разработчиков готовиться к апокалипсису ИИ. Фактически, машинное обучение в конечном итоге станет частью набора инструментов программиста, а не заменой программиста-человека.

Тем не менее, в технологической отрасли многие из нас опасаются, что ИИ станет конфронтационной силой, готовой заменить разработчиков. Я провел поиск в Google по ключевому слову «будут инженеры-программисты», и результаты, выданные Google, показали, что я был не единственным, кто задавал этот вопрос.

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

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

Традиционное программирование и ранний ИИ

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

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

Традиционное программирование очень сложно

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

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

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

Машинное обучение учит вашу собаку приносить

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

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

черный ящик

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

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

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

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

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

Давайте взглянем на фразу, которую легко разобрать, но сложно перевести на основе правил:

The Future of Work event organized by Brainware

online-translator.com переводит эту фразу на русский язык:

Будущее события Организовано Brainware

Гугл переводчик переводит так:

Событие Future of Work,организованное Brainware

Первый перевод был просто непонятен русским, но машинные переводы заставили россиян понять. Google Translate посчитал, что Future of Work — это название мероприятия, поэтому оно не было переведено и использовало правильный порядок слов на русском языке.

Почему искусственный интеллект достиг зрелости?

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

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

техника автоматизации работы

Глядя на необработанные данные об автоматизации работы, не предвещаешь ничего хорошего, и я понимаю, почему мои коллеги нервничают. Веб-разработчики имеют хорошие шансы на автоматизацию, в то время как у специалистов по поддержке компьютеров вероятность автоматизации составляет 72%. Без какого-либо контекста эти цифры предвещают ненужный технологический апокалипсис.

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

Как искусственный интеллект поможет разработчикам?

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

Просто посмотрите демо-видео Accenture myWizard, платформы с виртуальными агентами, которая использует машинное обучение для совместной работы с коллегами-людьми. По данным Harvard Business Review, руководители проектов ИИ реализуют проекты, помогая Accenture точно предсказывать тревожные сигналы в 80% случаев.

ИИ уже помогает разработчикам

Не все эти мечты недостижимы. Сейчас DeepCode уже использует машинное обучение для анализа и очистки существующего кода. Это известно как Грамматика кода. Точно так же, как проверка орфографии и грамматики также зависит от корректоров и редакторов, искусственный интеллект помогает разработчикам.

Другие стартапы продвигают ИИ на шаг вперед. Например, Logojoy использует машинное обучение для создания логотипов и простых дизайнов. UIzard конвертирует нарисованные от руки дизайны в HTML и CSS.

Заменит ли программистов автоматизация?

Вернемся к первоначальному вопросу: будет ли автоматизирована разработка программного обеспечения. Ответ и да, и нет. Конечно, многие аспекты разработки будут автоматизированы. Но это не означает, что рабочие места будут потеряны.

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

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

Станьте лучшим инженером-человеком

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

Традиционное программирование использует рационалистический подход, машинное обучение — это крайний эмпиризм. Нам, людям, необходимо изучать оба подхода и знать, какой из них лучше подходит для конкретной инженерной задачи.

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

Нетехнические навыки, которые нелегко автоматизировать, будут фактором, отличающим программистов. Знание предметной области и креативность будут еще важнее. Улучшение социальных навыков и эмоционального интеллекта также отличает инженеров.

Иногда даже AI бросает полотенце. Когда я попросил Siri рассказать мне анекдот, она была ошеломлена.

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

Наконец, я хотел бы послать вам предложение, чтобы поделиться с вами:

Если вы не хотите учиться, никто не сможет вам помочь. Но если вы решите учиться, никто не сможет вас остановить.

Оригинальная английская ссылка:

https://hackernoon.com/is-computer-engineering-really-going-to-be-automated-e6111412432e