Почему Python является предпочтительным языком для искусственного интеллекта

искусственный интеллект

предисловие

Я всегда изучал Python и машинное обучение, глубокое обучение. Но почему я выбрал Python в качестве предпочтительного языка для искусственного интеллекта среди множества языков программирования?Я никогда не знал.Сегодня разберусь со своим пониманием. Прежде всего, я не буду повторять прошлое и настоящее Python, а просто расскажу о связи между Python и искусственным интеллектом.

1. Начните с искусственного интеллекта

Прежде всего, возобновление популярности искусственного интеллекта должно начаться с технологических новостей, которые вызвали национальный карнавал: с 2016 по 2017 год программа Go AI AlphaGo, разработанная Google, последовательно побеждала чемпиона Европы Фань Хуи, корейского игрока с девятью данами Ли. Седол и чемпион мира по го Ке Цзе поднялись на вершину земли. Прошло ровно 20 лет с тех пор, как Deep Blue победила игроков в шахматы. Несколько месяцев спустя модернизированная версия AlphaGo, известная как AlphaGo Zero, вернулась. Всего через 3 дня самостоятельных тренировок она победила AlphaGo Lee, которая уже победила Ли Седоля. , считающийся фиговым листком человеческой мудрости, был прижат машиной к земле и терся о землю, что полностью спровоцировало карнавал общественного мнения. В это время многие говорят, что снова наступила эра искусственного интеллекта...

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

2. Python становится предпочтительным языком программирования для искусственного интеллекта?

Прежде всего, нам нужно понять, что все основные алгоритмы искусственного интеллекта полагаются на C или C ++ для завершения.Эти алгоритмы очень сложны для запуска и требуют больших вычислительных ресурсов, которые требуют максимальной производительности оборудования. О производительности самого Python можно только сказать, что жаль. Производительность Java всегда подвергалась критике. Python даже ниже, чем Java. Если один человек взломает Python, то его нужно бить по производительности. Python играет скорее роль инструмента в сферах искусственного интеллекта, глубокого обучения и т. д., то есть играет роль фронтенда или «вазы». изучайте и пользуйтесь.Вам нужно только взять Python для визуализации, вызвать API интерфейс, и написать логику слоя отображения. Нынешний искусственный интеллект все еще находится в стадии искусственной умственной отсталости.Важнее всего быстро построить прототип, который можно вызывать и повторять. Некоторые талантливые люди, специализирующиеся на научных исследованиях и алгоритмах, не ориентированы на языки программирования. Использование Python позволяет быстро начать работу с наименьшими затратами на обучение.

Почему бы не изучить другие недорогие языки программирования?

  1. Python имеет огромные преимущества на ранней стадии, особенно в области анализа данных, связанных с искусственным интеллектом.Python глубоко культивировался в течение многих лет и рано взял на себя инициативу.Как и некоторые популярные фреймворки для анализа данных: Numpy, Pandas и т.д. все написано на питоне;

  2. Некоторые крупные интернет-компании, такие как Google и FaceBook, также очень любят Python, и эти две компании являются пионерами в области искусственного интеллекта.Google выпустила фреймворк для глубокого обучения TensorFlow, а FaceBook запустила библиотеку машинного обучения PyTorch. ставится на позицию лидера;

  3. Проникновение Python в академический круг и научно-исследовательский круг далеко не сравнимо с другими языками.Если вы не изучаете Python, который прост в освоении и имеет много библиотек, почему бы не изучить C++?Доктора тоже люди, и хурма также разборчивы;

  4. В Соединенных Штатах администрации Трампа и Обамы также тратят много денег на развитие компьютерного образования;

  5. Кузнечное дело тоже требует своего упорного труда, и у языка python тоже есть свои уникальные преимущества:

  1. Позиционирование Python «элегантное», «понятное» и «простое», поэтому программы на Python всегда выглядят простыми и понятными.Начинающим изучать Python не только легко начать, но и в будущем вы сможете писать эти очень, очень сложные программы.
  2. Эффективность разработки очень высока.У Python очень мощная сторонняя библиотека.В принципе, вы хотите реализовать любую функцию через компьютер.В официальной библиотеке Python есть соответствующие модули для ее поддержки.Скачав и вызвав напрямую,разрабатывайте на основе базовой библиотеки, что значительно сокращает цикл разработки и позволяет избежать повторного создания колес.
  3. Язык высокого уровня. Когда вы пишете программы на Python, вам не нужно думать о низкоуровневых деталях, таких как управление памятью, используемой вашей программой.
  4. Портативность. Благодаря своей природе с открытым исходным кодом Python был перенесен на многие платформы (модифицирован для работы на разных платформах). Если вы будете стараться избегать использования системно-зависимых функций, то все ваши программы на Python будут работать без изменений практически на любой системной платформе, представленной на рынке.
  5. Расширяемость. Если вам нужно, чтобы критически важная часть вашего кода работала быстрее или вы хотите, чтобы некоторые алгоритмы были частными, вы можете написать части своей программы на C или C++ и использовать их в своей программе Python.
  6. Возможность встраивания. Вы можете встраивать Python в свои программы на C/C++, чтобы предоставить пользователям ваших программ возможности написания сценариев.

3. Другие добавки

Применение Python в некоторых компаниях:

  • Google: Google App Engine, code.google.com, Google earth, поисковые роботы Google, объявления Google и другие проекты используют Python для разработки
  • ЦРУ: веб-сайт ЦРУ разработан на Python
  • НАСА: НАСА активно использует Python для анализа данных и вычислений
  • YouTube: крупнейший в мире видеосайт YouTube разработан на Python
  • Dropbox: крупнейший веб-сайт облачного онлайн-хранилища в Соединенных Штатах, полностью реализованный на Python, веб-сайт обрабатывает 1 миллиард загрузок и скачиваний файлов каждый день.
  • Instagram: крупнейшая социальная сеть для обмена фотографиями в США, ежедневно публикуется более 30 миллионов фотографий, разработанных на Python.
  • Facebook: Большое количество базовых библиотек реализовано в Python
  • Redhat: инструмент управления пакетами yum в самом популярном в мире дистрибутиве Linux разработан на python
  • Дубан: Почти весь бизнес компании развивается с помощью Python
  • Zhihu: крупнейшее сообщество вопросов и ответов в Китае, разработанное с помощью Python (Quora за рубежом)
  • Доктор Чунью: На Python разработан известный медицинский онлайн-сайт в Китае.

В дополнение к вышеперечисленному есть такие компании, как Sohu, Kingsoft, Tencent, Shanda, NetEase, Baidu, Ali, Taobao, Tudou, Sina и Guoke, которые используют Python для выполнения различных задач.

Недостатки Python:

  1. Скорость медленная Скорость работы Python действительно намного медленнее, чем у языка C, а также медленнее, чем у JAVA, так что это основная причина, почему многие так называемые большие коровы презирают использовать Python, но в Дело в том, что скорость работы, о которой здесь идет речь, медленная. В большинстве случаев пользователи не могут ее непосредственно ощутить, и это должно отражаться инструментами тестирования. Например, для запуска программы на C требуется 0,1 с, а на Python — 0,01 с. Таким образом, язык C напрямую быстрее, чем Python, на 10 с, что очень преувеличено, но вы не можете увидеть это невооруженным глазом, потому что наименьшая единица времени, которую может воспринять нормальный человек, составляет около 0,15-0,4 с, хаха. На самом деле, в большинстве случаев Python может полностью удовлетворить требования к скорости вашей программы, если только вы не хотите написать поисковую систему, требующую чрезвычайно высокой скорости.В этом случае, конечно, рекомендуется использовать C для достижения этого.
  2. Код не может быть зашифрован, т.к. PYTHON интерпретируемый язык, и его исходный код хранится в виде текста имени, но я не считаю это недостатком.Если ваш проект требует, чтобы исходный код был зашифрован, то вам не Должен быть реализован в Python.
  3. Потоки не могут использовать несколько ЦП, что является одним из наиболее критикуемых недостатков Python.GIL, глобальная блокировка интерпретатора, представляет собой инструмент, используемый интерпретаторами языков программирования для синхронизации потоков, так что в любой момент времени существует только один поток. , потоки Python — это собственные потоки операционной системы. Pthread в Linux и Win-поток в Windows, выполнение потока полностью планируется операционной системой. Процесс интерпретатора Python имеет один основной поток и несколько потоков выполнения пользовательских программ. Даже на платформах с многоядерными процессорами параллельное выполнение нескольких потоков запрещено из-за наличия GIL. Компромиссное решение этой проблемы будет подробно рассмотрено позже в главе «Потоки и процессы».