Понять, что требуется знать инженерам по ИИ.

Завершено

A software engineer

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

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

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

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

Обучение модели и формирование вывода

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

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

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

Показатели вероятности и достоверности

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

Ответственность при работе с искусственным интеллектом и этика

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

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