인공 지능

인공 지능이란?

엔지니어가 AI로 성공하기 위해 꼭 알아야 할 사항

AI(인공 지능)는 인간의 지능적 행동을 모방한 시뮬레이션입니다. 이는 주변의 환경을 인식하고 의사결정을 내리고 필요한 행동을 취하도록 설계된 컴퓨터 또는 시스템의 소프트웨어입니다. 성공적인 AI 시스템을 구축하기 위해서는 전체 워크플로를 이해하고 AI 모델의 훈련 외의 요소에도 집중해야 합니다.

AI의 작동 방식

인공 지능이라는 용어는 광범위하며, 더 많은 엔지니어들이 AI를 다양한 응용 사례에 통합함에 따라 그 영향력도 계속 확장되고 있습니다. 자율주행 차량부터 로보틱스 및 자연어 처리에 이르는 최근의 응용 사례를 생각해 보시면 될 것입니다. 이러한 응용 사례에서 인공 지능을 구현하는 방법은 다양하겠지만, 의사결정을 내릴 수 있는 시스템을 만드는 데 사용되는 딥러닝 또는 머신러닝 모델이 기초를 이루는 기술이라는 점은 변함없습니다.

인공 지능, 머신러닝, 딥러닝의 정의가 보이는 그림.

인공 지능 응용 사례에서 딥러닝 또는 머신러닝 알고리즘 간에 무엇을 선택할지는 시스템의 목표와 요구사항에 따라 달라집니다.

머신러닝과 딥러닝

사용자는 응용 사례, 처리할 데이터의 크기, 해결하려는 문제의 유형에 따라 다양한 기법과 모델을 선택할 수 있습니다. 머신러닝과 딥러닝에는 각각의 고유한 이점이 있습니다.

전통적 머신러닝에서는 SVM(서포트 벡터 머신)과 결정 트리 같은 다양한 분류기를 훈련할 수 있습니다. 또한 머신러닝을 통해 특징 추출을 최적화할 수 있습니다. 사용자는 다양한 접근법을 조합하여 데이터에 가장 잘 맞는 구성을 파악할 수 있습니다.

MATLAB의 분류 학습기 앱은 머신러닝 알고리즘 선택 과정을 단축시킬 수 있습니다.

다양한 머신러닝 알고리즘을 시도해 보면서 모델에 가장 적합한 알고리즘을 찾을 수 있습니다.

사용자는 머신러닝과 딥러닝 중 무엇을 선택하든 다양한 알고리즘을 시도해 보고 무엇이 자신의 응용 사례와 요구사항에 가장 잘 맞는지 판단할 수 있어야 합니다.

필수적인 AI 개념

견고한 인공 지능 워크플로에는 데이터에 대한 이해, 모델 생성, 그리고 모델이 실행될 최종 시스템의 설계와 테스트가 수반됩니다. 아래 섹션에서는 인공 지능을 작업에 통합할 때 고려해야 하는 중요한 AI 개념에 대해 설명합니다.

데이터 주도 AI

대다수의 인공 지능 응용 사례의 핵심에는 데이터가 있습니다. 원시 데이터를 가져와 정확하고 유의미한 모델을 만들기 위해 유용한 데이터로 만드는 과정은 AI 작업에서 상당한 시간을 차지할 가능성이 높습니다. 데이터 준비에는 데이터의 중요한 특징과 중요하지 않은 특징은 무엇인지, 드물게 발생하는 어떤 이벤트를 고려할지 이해하기 위한 분야별 전문지식이 필요합니다.

데이터 준비와 데이터에 레이블 지정까지 가는 단계는 종종 지루하고 많은 시간이 들곤 합니다. 이 과정에는 합성 데이터와 더 많은 샘플로 데이터셋을 증대하는 작업이 포함될 수 있지만, 엔지니어는 레이블 지정에 드는 시간을 자동화하여 잘 정리된 레이블 지정 데이터를 더 빠르게 얻을 방안을 고려해야 합니다.

AI 모델링

성공적인 AI 모델 구축을 위한 두 가지 중요 요소:

  • 알고리즘 세트 선택: 머신러닝 또는 딥러닝을 고려하고 계신가요? 완전한 알고리즘 세트 및 사전 구축된 모델로 시작한다는 것은 모든 걸 처음부터 시작할 필요 없이 인공 지능 커뮤니티의 다양한 작업물을 활용함으로써 이미 앞선 출발선에서 시작한다는 것을 의미합니다.
  • 모델에 대해 반복: 사용자는 이 작업에서 가장 강인하고 정확한 모델을 얻을 수 있는 최적의 파라미터 세트를 파악할 수 있습니다. 정확한 모델을 만들기 위해서는 시간이 걸립니다. 하지만 하드웨어를 추가하면(즉 하나 이상의 GPU에서 훈련하면), 파라미터와 입력 데이터, 계층의 모든 조합으로 모델을 훈련하는 데 드는 시간을 대폭 단축할 수 있습니다.

AI 설계의 시뮬레이션

AI 모델은 일반적으로 크고 복잡한 시스템 내에 존재합니다. 예를 들어, 자율주행 시스템에서 인식에 쓰이는 인공 지능은 위치추정 및 경로 계획을 위한 알고리즘, 그리고 제동, 가속 및 기타 컴포넌트를 위한 제어 알고리즘과 통합되어야 합니다. 이러한 여러 부분이 함께 모여 완전한 시스템이 구성됩니다. 이와 같이 복잡한 AI 주도 시스템에는 통합과 시뮬레이션이 꼭 필요합니다.

AI의 실례 보기: 머신러닝을 통한 BMW 자동차의 과조향 감지

로보틱스 시스템의 세 가지 컴포넌트와 그 위에서 각 컴포넌트를 제어하는 Simulink 블록 다이어그램.

인공 지능은 복잡한 로보틱스 시스템에서 다양한 부분에 사용됩니다.

시뮬레이션은 이 모든 부분이 어떻게 하나로 합쳐지는지를 보여줍니다. 이는 각각의 조각이 함께 올바로 작동하는지 검증하는 과정이라 할 수 있습니다. 시뮬레이션은 모든 상황에서 예상과 일치하는 결과와 반응이 나오도록 보장합니다. 또한 모델을 하드웨어에 배포하기 전에 올바로 작동하는지 검증할 수 있게 해줍니다.

실제 인공 지능 응용 사례

수많은 응용 사례에서 인공 지능을 사용하는 만큼 차량의 ECU나 화학 플랜트의 에지 시스템, 여러 위치에서 데이터를 수신하는 클라우드 기반 스트리밍 시스템 등 배포 요구사항도 다양합니다. 인공 지능은 이러한 시스템의 어느 부분에든 있을 수 있으므로 모델은 가급적 모든 플랫폼에서 배포와 구동이 가능해야 합니다.

MATLAB을 사용한 엔터프라이즈 AI 개발

인공 지능을 시스템에 통합할 때는 여러 요소를 고려해야 합니다. 엔지니어로서는 모델 구축뿐만 아니라 전체 AI 워크플로에 집중하는 것이 중요합니다.

  • 데이터 수집: 다양한 데이터 수집 하드웨어와 빠르게 연동하고 대량의 데이터를 정리하거나, 훈련 데이터가 한정된 경우 합성 데이터를 생성할 수도 있습니다.
  • 데이터 전처리 및 레이블 지정: 전처리 및 레이블 지정 앱으로 보다 나은 데이터셋을 더 빠르게 구축할 수 있습니다. MATLAB®의 로우코드 앱과 내장 함수로 데이터 품질을 개선하고 ground truth 레이블 지정을 자동으로 수행할 수 있습니다.
  • AI 모델 구축: 다양한 모델을 시도해 보고 머신러닝 알고리즘과 딥러닝 알고리즘을 비교하여 여러분의 응용 사례에 맞는 솔루션을 찾을 수 있습니다. TensorFlow™와 PyTorch®의 모델을 비롯한 수백 개의 사전 훈련된 모델을 이용해 전이 학습을 수행하여 시간과 리소스를 절약할 수 있습니다.
  • 의사결정 시각화: 설명 가능성 기법을 활용하고 AI 모델의 강인성을 검증하여 AI 의사결정에 대한 신뢰성을 높일 수 있습니다. MATLAB에서 LIME, Shapley 및 Grad-CAM과 같은 기법을 직접 이용할 수 있으므로 함수를 직접 손으로 작성할 필요가 없습니다.
  • 시뮬레이션: AI 모델을 Simulink에 통합하여 인공 지능 기능을 복잡한 시스템에 직접 구축할 수 있습니다. 이 통합을 통해 엔지니어는 모델의 프로덕션 배포에 앞서 전체 시스템 내의 인공 지능 시뮬레이션을 진행할 수 있습니다.
  • 에지 배포: 자동으로 코드를 생성하고 기기를 타겟팅함으로써 코딩 오류를 식별하고 제거할 수 있습니다. MATLAB은 사용자가 모델을 엔터프라이즈 시스템, 클러스터, 클라우드 또는 임베디드 하드웨어에 통합할 수 있도록 특정 타겟 하드웨어에 대한 코드를 자동으로 생성할 수 있습니다.

엔지니어와 과학자는 AI 프로젝트의 성공에 있어서 필수적인 통찰력을 제공하는 분야별 전문가입니다. MATLAB은 엔지니어와 과학자가 각자의 분야에서 인공 지능을 사용할 수 있도록 지원하고 다양한 업계에서 팀과 조직 간의 협업을 가능하게 합니다.

관련 주제

MATLAB 시작하기

MATLAB을 사용한 딥러닝

딥러닝에 대한 MATLAB의 지원에 대해 알아볼 수 있습니다. 

튜토리얼 및 예제

MATLAB을 사용한 인공 지능을 시작할 수 있습니다.