Глубокое обучение переносит нас в эпоху программного обеспечения 2.0

искусственный интеллект
Глубокое обучение переносит нас в эпоху программного обеспечения 2.0

Это 11-й день моего участия в августовском испытании обновлений.Подробности о событии:Испытание августовского обновления

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

software 2.0

Давайте заново опишем текущее программное обеспечение 1.0 с пространственной точки зрения.

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

008.png

Это предложение звучит немного абстрактно. Что такое пространство программы? Разве мы не программируем? На самом деле, мы можем понять каждый оператор или блок кода, соответствующий фрагменту логики. Операторы могут понимать комбинацию функций и комбинацию этих функций. соответствует программному пространству (пространственное измерение соответствует признаку) точка.

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

ПО 2.0 не является заменой ПО 1.0, а является дополнением или расширением

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

015.png

Чтобы сделать аналогию явной, в программном обеспечении 1.0 исходный код инженерии человека, такой как некоторые файлы с суффиксом cpp, был скомпилирован в двоичный файл, который выполнял полезную работу. В программном обеспечении 2.0 наиболее распространенный исходный код включает

  • Набор данных, который определяет целевое поведение или требует логики
  • Архитектура нейронной сети, которая дает общий скелет кода, но также требует многих деталей, таких как веса.

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

Лучшие практики для программного обеспечения 2.0 в tesla

005.jpeg

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

Поскольку Tesla FSD должна иметь дело со сложными задачами и выполнять более 1000 задач восприятия, даже если FSD использует чрезвычайно огромную модель HydraNet, выразительные возможности модели ограничены (Конечная емкость модели), и каждый член команды оптимизирует свои собственные задачи. метод должен быть выбран в это время без ущерба для производительности существующей модели.