AI(인공 지능)란?

반드시 알아야 할 3가지

인공 지능, 즉 AI는 지능적인 인간 행동에 대한 시뮬레이션을 말합니다. AI는 주변 환경을 인식하고, 환경의 행동을 이해하고, 그에 대한 조치를 취하도록 설계된 컴퓨터 또는 시스템입니다. 자율주행 차량과 같이 AI로 구동되는 시스템은 머신 러닝 및 딥러닝과 같은 AI 알고리즘을 복잡한 환경에 통합하여 자동화를 구현합니다.

AI가 중요한 이유

McKinsey는 2030년이 되면 AI가 전 세계적으로 13조 달러의 경제 가치를 창출할 것이라 전망합니다.

이는 거의 모든 산업 및 응용 분야에서 AI가 공학의 혁신을 일으키고 있기 때문입니다. AI는 자율주행 외에도 고장진단을 예측하여 유지관리가 필요한 시점을 알려주는 모델, 환자 모니터링 시스템과 같은 건강 및 센서 분석, 그리고 경험으로부터 직접 학습하고 성능을 개선하는 로보틱스 시스템에 사용됩니다.

AI의 일반적인 응용 분야. 

AI 워크플로의 주요 구성요소

AI 분야에서 성공을 거두기 위해서는 AI 모델을 학습시키는 것 이상이 필요하며, 스스로 결정을 내리고 행동하는 AI 구동 시스템의 경우 더욱더 그렇습니다.  AI 워크플로에는 데이터 준비, 모델 만들기, 모델이 실행될 시스템 설계, 하드웨어 또는 엔터프라이즈 시스템에 배포와 같은 작업이 포함됩니다.

AI 워크플로를 구성하는 단계.

데이터 준비

원시 데이터를 가져와서 정확하고 효율적이며 의미 있는 모델을 구축하는 데 사용할 수 있도록 만드는 것은 매우 중요한 단계입니다. 사실상 이 단계가 AI 관련 작업의 대부분을 차지합니다.

데이터 준비에는 각 분야별 전문 지식이 필요합니다. 여기에는 음성 및 오디오 신호, 내비게이션 및 센서 융합, 이미지 및 비디오 처리, 레이더 및 LIDAR와 같은 전문 지식이 포함됩니다. 이러한 분야의 엔지니어들은 데이터에서 어떤 특징이 중요한지, 어떤 것이 중요하지 않은지, 그리고 드물게 발생하는 이벤트 중에서 어느 것을 고려해야 하는지 판단하는 데 필요한 지식을 갖추고 있습니다.

AI에는 또한 막대한 양의 데이터가 사용됩니다. 하지만 데이터와 이미지에 레이블을 지정하는 것은 시간이 오래 걸리는 작업입니다. 안전이 중요한 시스템의 경우 충분한 데이터를 확보하기 어려운 경우도 있습니다. 정확한 합성 데이터를 생성하면 데이터 세트를 개선할 수 있지만, 두 가지 경우 모두 기한을 준수하기 위해서는 자동화가  필요합니다.

AI 모델링

AI 시스템 모델링을 성공적으로 수행하는 데 필요한 핵심 요소는 다음과 같습니다.

  • 머신 러닝, 딥러닝, 강화 학습 및 기타 AI 기법을 위한 알고리즘 및 미리 빌드된 모델을 완벽히 갖추고 시작합니다.
  • 생산적인 설계와 분석을 위해 을 사용합니다.
  • MATLAB®, PyTorch, TensorFlow™와 같은 AI 툴을 함께 사용할 수 있는 개방형 에코시스템에서 작업합니다.
  • 병렬 및 클라우드 서버/온프레미스 데이터 센터로의 확장과 GPU 가속을 통해 연산 복잡도를 관리합니다.

시스템 설계

AI 모델은 전체 시스템 내에 존재합니다. 자율주행 시스템에서는 인식을 위한 AI가 지역화 및 경로 계획을 위한 알고리즘, 그리고 제동, 가속, 회전을 위한 제어와 통합되어야 합니다.

자율주행 시나리오에서 사용되는 AI.

풍력발전단지 예측 유지관리와 오늘날의 항공기 자동조종 제어에 사용되는 AI를 생각해보십시오.

이와 같이 AI로 구동되는 복잡한 시스템에는 통합 및 시뮬레이션이 필요합니다.

배포

AI 모델은 최종제품이 임베디드 또는 에지(edge) 장치이든, 엔터프라이즈 시스템 또는 클라우드 이든 간에 CPU, GPU 및 FPGA에 배포해야 합니다. 임베디드 또는 에지(edge) 장치에서 실행되는 AI 모델은 현장에서 요구되는 빠른 결과를 제공하며, 엔터프라이즈 시스템과 클라우드에서 실행되는 AI 모델은 여러 장치에서 수집된 데이터를 바탕으로 결과를 제공합니다. AI 모델이 이러한 여러 시스템이 조합된 구성에 배포되는 경우도 많습니다.

모델에서 코드를 생성하여 장치를 타겟팅할 경우 배포 프로세스가 가속화됩니다. 코드 생성 최적화 기법과 하드웨어 최적화 라이브러리를 사용하면 임베디드 및 에지(edge) 장치에서 요구되는 저전력 프로파일에 맞게 또는 엔터프라이즈 시스템과 클라우드의 고성능 요구에 맞게 코드를 조정할 수 있습니다.

MATLAB을 사용한 AI 시스템 개발

 AI 기술에 대해 잘 작성된 문서는 좀처럼 찾기 쉽지 않습니다 . 하지만 MATLAB 또는 Simulink®를 사용하는 엔지니어와 과학자는 각자의 전문 영역에서 AI로 구동되는 시스템을 만드는 데 필요한 역량과 툴을 갖추고 있습니다.

MATLAB을 사용한 데이터 전처리

데이터를 전처리하는 데 소요되는 시간을 대폭 줄일 수 있습니다. MATLAB 앱과 데이터형은 시계열 센서 데이터에서 이미지와 텍스트에 이르기까지 데이터 전처리 작업에 필요한 시간을 크게 줄여줍니다. 고급 함수를 사용하면 서로 다른 시계열을 쉽게 동기화하고, 이상값을 보간 값으로 대체하고, 노이즈 신호를 필터링하고, 원시 텍스트를 단어로 분할하는 등의 작업을 쉽게 수행할 수 있습니다. 플롯과 라이브 편집기데이터를 시각화하여 추세를 파악하고 데이터 품질 문제를 파악할 수 있습니다.

MATLAB 앱은 이미지, 비디오 및 오디오 데이터의 실측 데이터 레이블 지정 작업을 자동화합니다.

Simulink에서 합성 데이터를 생성하여, 센서 또는 기타 장비로부터 데이터가 제공되기 전에 알고리즘을 테스트해 볼 수 있습니다. 이는 적응형 크루즈 제어, 차선 유지, 자동 긴급 제동과 같은 자율주행 시스템에서 널리 사용되는 방법입니다.

의미론적 분할과 같은 딥러닝 워크플로에 레이블 지정 앱 사용하기.

딥러닝 프레임워크와의 상호 운용.

MATLAB을 사용한 AI 모델링

AI 모델링 기법은 응용 분야에 따라 달라집니다.

머신 러닝

MATLAB 사용자들은 예측 유지관리, 센서 분석, 금융, 통신 전자를 위한 수천 개의 응용 프로그램을 배포했습니다. Statistics and Machine Learning Toolbox™를 사용하면 모델 학습 및 비교, 고급 신호 처리 및 특징 추출, 분류, 회귀, 지도 및 비지도 학습을 위한 군집 알고리즘용 앱으로 머신 러닝의 까다로운 부분을 손쉽게 처리할 수 있습니다.

반도체 제조업체 ASML은 칩을 구성하는 복잡한 구조체의 오버레이 정렬을 개선하는 가상 계량 테크놀러지를 개발하기 위해 머신 러닝 기법을 사용했습니다. “저는 프로세스 엔지니어로서 신경망 또는 머신 러닝에 경험이 없었습니다. 가상 계량을 생성하는 데 가장 적합한 머신 러닝 함수를 찾기 위해 MATLAB 예제를 살펴봤지요. C나 Python을 사용했다면 가능하지 않았을 것입니다. 적절한 패키지를 찾고 유효성을 검사하고 통합하는 데 시간이 너무 오래 걸릴 테니까요.”라고 엔지니어인 Emil Schmitt-Weaver는 설명합니다.

MATLAB 모델은 대부분의 통계 및 머신 러닝 연산에서 오픈 소스보다 훨씬 빠른 실행 속도를 보입니다.

각종 분류기를 사용해 보고 데이터 세트에 가장 적합한 분류기를 찾을 수 있는 분류 학습기 앱.

딥러닝

엔지니어들은 자율주행, 컴퓨터 비전, 음성 및 자연어 처리를 비롯한 다양한 응용 분야에서 MATLAB의 딥러닝 기능을 사용합니다. Deep Learning Toolbox™를 사용하면 심층 신경망의 계층을 만들고, 상호 연결하고, 학습시키고, 평가할 수 있습니다. 다양한 예제와 사전 학습된 네트워크가 제공되기 때문에 고급 컴퓨터 비전 알고리즘이나 신경망에 대한 지식이 없어도 MATLAB을 쉽게 딥러닝에 사용할 수 있습니다.

MATLAB을 통해 엔지니어들은 다양한 딥러닝 프레임워크에서 함께 작업할 수 있습니다. ONNX에 대한 지원을 바탕으로, MATLAB에서는 TensorFlow를 비롯해 지원되는 기타 프레임워크에서 최신 모델을 가져오고 해당 프레임워크로 내보낼 수 있습니다.

딥러닝 네트워크를 빌드, 시각화 및 편집할 수 있는 Deep Network Designer 앱.

강화 학습

 누적 보상에 기초한 학습의 혜택을받는 제어 시스템에서 강화 학습은 이상적인 기술입니다. Reinforcement Learning Toolbox™를 사용하면 DQN, A2C, DDPG 및 기타 강화 학습 알고리즘을 사용하여 정책을 훈련시킬 수 있습니다. 이 정책을 사용하여 로봇 및 자율 시스템과 같은 복잡한 시스템의 컨트롤러와 의사 결정 알고리즘을 구현할 수 있습니다. 심층 신경망, 다항식 또는 룩업 테이블을 사용하여 정책을 구현할 수 있습니다.

Reinforcement Learning Toolbox를 사용한 정책 설계 및 학습.

자연어 처리

자연어 처리 모델은 감정 분석, 예측 유지관리 및 주제 모델링에서 널리 사용됩니다. Text Analytics Toolbox™는 텍스트 데이터의 전처리, 분석 및 모델링을 위한 알고리즘 및 시각화 기능을 제공합니다. Text Analytics Toolbox를 사용하여 장비 로그, 뉴스 피드, 설문 조사, 운영자 보고서 및 소셜 미디어와 같은 소스에서 원시 텍스트를 추출하고 처리할 수 있습니다.

LSA, LDA 및 단어 임베딩과 같은 머신 러닝 기법을 사용하여 클러스터를 찾고 고차원 텍스트 데이터 세트에서 기능을 만들 수 있습니다. Text Analytics Toolbox로 만든 기능을 다른 데이터 소스의 기능과 결합하여 텍스트, 숫자 및 기타 유형의 데이터를 활용하는 머신 러닝 모델을 구축할 수 있습니다.

많은 보고서 데이터에서 주제 식별하기.

시스템 설계

AI로 구동되는 복잡한 시스템은 다른 여러 알고리즘과 통합되어야 합니다. 시스템 전체가 AI 모델의 효과에 영향을 주므로 시스템 설계 및 시뮬레이션은 무척 중요합니다. 엔지니어들은 빠른 설계 반복과 폐쇄 루프 테스트를 위해 Simulink를 사용합니다.

일례로, 자율주행 시스템에서는 AI와 시뮬레이션을 사용하여 제동, 가속, 회전을 위한 제어기를 설계합니다. Simulink를 사용하여 시스템 모델을 설계 및 시뮬레이션하고, MATLAB을 사용하여 AI 모델을 구현합니다. Unreal Engine과 같은 소프트웨어를 사용하여 AI 모델에 입력할 이상적인 카메라 이미지를 합성할 수도 있습니다.

은퇴 공동체를 위한 자율주행 택시를 만드는 업체인 Voyage는 3개월이 채 되지 않는 기간 안에 수준 3 자율주행 차량을 배포했습니다. 통합된 모델 덕분에 아이디어에서  테스트까지 이르는 전체 프로세스 소요 시간이 대폭 단축되었습니다. Voyage는 Simulink를 사용하여 위험한 상황에서도 테스트를 안전하게 수행할 수 있었습니다.

Simulink를 사용하면 알려진 고장 조건으로부터 고장 데이터를 생성할 수도 있습니다. 풍력발전단지의 경우, 풍력 터빈에서 측정된 데이터에 합성된 고장 데이터를 추가할 수 있습니다. 시스템 모델을 정교화하여 향후 발생 가능한 장비 고장에 대해 정확한 예측 변수를 얻을 수 있습니다.

MATLAB 및 Simulink로 만든  카메라 인식이 적용된 차선 추종 제어 응용 프로그램.

모델로부터 합성된 고장 데이터를 측정 데이터와 함께 사용하여 효과적인 향후 장애 예측 변수 만들기.

배포

MATLAB의 AI 모델은 임베디드 장치 또는 보드, 현장에 있는 에지(edge) 장치, 엔터프라이즈 시스템 또는 클라우드에 배포할 수 있습니다.

딥러닝 모델의 경우 GPU Coder™를 사용하여 NVIDIA® CUDA® GPU를 생성하고 배포할 수 있습니다. 또는, MATLAB Coder™를 사용하여 C 코드를 생성하면 Intel® 및 Arm® 보드에 배포할 수 있습니다. 벤더에 최적화된 라이브러리를 사용하면 고성능 추론 속도를 갖춘 배포 모델을 만들 수 있습니다.

MATLAB Production Server™를 사용하면 엔터프라이즈 IT 시스템, 데이터 소스 및 운영 기술에 안전하게 배포하고 통합할 수 있습니다.

Tableau®, TIBCO® Spotfire®, Power BI 및 기타 최신 분석 시스템과 같은 기존 시스템 및 데이터에 직접 통합.

AI에 대해 자세히 알아보기

전처리에서 배포까지, 딥러닝 워크플로의 모든 단계에 MATLAB이 어떻게 도움이 되는지 알아봅니다. MATLAB을 사용한 딥러닝의 개괄적인 개요를 이해하고, 몇 가지 응용 프로그램을 살펴봅니다.
MATLAB, 간편한 웹캠과 뉴럴 네트워크 사용 방법을 확인하여 주변의 물체를 식별해보십시오. 이 데모에서는 수백만의 이미지로 사전 훈련된 딥 컨벌루션 뉴럴 네트워크인 AlexNet을 사용합니다.
다양한 머신 러닝 주제를 살펴보고 사용 방법을 알아봅니다.
MATLAB을 사용하여 손쉽게 AI를 시작하는 방법을 보여주는 3가지 실제 예.
Musashi Seimitsu는 MATLAB 및 Simulink를 사용하여 개발에서 시뮬레이션에 이르는 프로세스 소요 시간을 단축했습니다.
BMW 엔지니어들은 MATLAB을 이용하여 98% 정확도로 오버스티어링을 감지하는 지도 학습 머신 러닝 모델을 개발했습니다.