머신 티칭 및 강화 학습에서 주제 전문 지식 사용

Azure
Azure Machine Learning
Azure Container Instances
Azure Storage
Azure IoT

AI(인공 지능)와 ML(기계 학습)은 가상 세계와 물리적 세계를 아우르는 작업에 고유한 기회와 과제를 제공합니다. AI와 ML은 실제 입력 데이터와 결과 간의 상관 관계를 인식하고 복잡한 물리적 산업 시스템을 자동화하는 의사 결정을 내릴 수 있습니다. 그러나 AI 기계 학습 시스템은 탐색, 임기응변, 창의적 사고 또는 인과 관계 결정과 같은 더 높은 수준의 인지 기능을 수행할 수 없습니다.

머신 티칭은 다음과 같은 기계 학습 시스템의 새로운 패러다임입니다.

  • 주제 전문 지식을 자동화된 AI 시스템 모델에 적용합니다.
  • 심층 강화 학습을 사용하여 학습 프로세스의 패턴을 식별하고 고유한 방법으로 긍정적인 동작을 채택합니다.
  • 시뮬레이션된 환경을 활용하여 도메인별 사용 사례 및 시나리오를 위한 대량의 가상 데이터를 생성합니다.

기계 학습은 새로운 학습 알고리즘을 개발하거나 기존 알고리즘을 개선하는 데 중점을 둡니다. 머신 티칭은 교사 자신의 효능감에 중점을 둡니다. 주제 전문 지식과 실제 조건에 중점을 두기 위해 AI 복잡성을 추상화하면 자동 제어 시스템을 자율 시스템으로 전환하는 강력한 AI와 ML 모델이 만들어집니다.

이 문서에서는 머신 티칭에 사용된 역사적인 AI 개발 및 개념에 대해 설명합니다. 관련 문서에서는 자율 시스템에 대해 자세히 설명합니다.

자동화의 역사

인간은 수천 년 동안 작업을 더 효율적으로 수행하기 위해 물리적 도구와 기계를 설계해 왔습니다. 이러한 기술은 더 낮은 비용으로 직접적인 수작업을 줄이면서 일관되게 생산량을 달성하는 것을 목표로 합니다.

1700년대 후반부터 1800년대 중반까지 이어진 1차 산업혁명에서는 제조업에서 수작업 생산 방식을 대체할 기계를 도입했습니다. 산업혁명은 증기 동력을 이용한 자동화와 가정에서 조직화된 공장으로 생산을 이전함으로써 통합을 통해 생산 효율성을 높였습니다. 1800년대 중반부터 1900년대 초반까지 이어진 2차 산업혁명에서는 전기화와 생산 라인을 통해 생산 능력이 향상되었습니다.

제1차 세계대전과 제2차 세계대전은 정보 이론, 통신, 신호 처리 분야에서 중대한 발전을 가져왔습니다. 트랜지스터의 개발은 정보 이론을 물리적 시스템 제어에 쉽게 적용할 수 있도록 해주었습니다. 3차 산업혁명을 통해 컴퓨터 시스템은 생산, 운송, 의료와 같은 물리적 시스템의 하드 코딩된 제어에 진입할 수 있었습니다. 프로그래밍된 자동화의 이점에는 일관성, 안정성, 보안이 포함되었습니다.

4차 산업혁명은 사이버-물리적 시스템과 산업용 IoT(사물 인터넷)의 개념을 도입했습니다. 인간이 제어하고자 하는 시스템은 완전히 규정된 규칙을 작성하기에는 너무 크고 복잡해졌습니다. 인공 지능을 사용하면 스마트 기계는 일반적으로 사람의 지능이 필요한 작업을 수행할 수 있습니다. 기계 학습을 통해 머신은 명시적으로 프로그래밍하지 않고도 경험을 통해 자동으로 학습하고 개선할 수 있습니다.

AI 및 ML

AI와 ML은 새로운 개념이 아니며 수십 년 동안 많은 이론이 그대로이지만 최근 스토리지, 대역폭, 컴퓨팅의 기술 발전으로 인해 더 정확하고 유용한 알고리즘 예측을 사용할 수 있게 되었습니다. 증가한 디바이스 처리 용량, 소형화, 스토리지 용량, 네트워크 용량을 통해 시스템과 장비를 추가로 자동화할 수 있습니다. 또한 이러한 고급 기능을 통해 방대한 양의 실시간 센서 데이터를 수집하고 데이터를 정렬할 수 있습니다.

인지 자동화는 정보 집약적 프로세스와 시스템에 소프트웨어와 AI를 적용하는 것입니다. 인지 AI는 생산성 향상을 위해 수동 작업자를 보완하고, 단조롭거나 위험한 분야에서 인간 작업자를 대체하고, 처리할 수 있는 방대한 양의 데이터를 통해 새로운 인사이트를 제공할 수 있습니다. 컴퓨터 비전, 자연어 처리, 챗봇, 로봇 공학과 같은 인지 기술은 이전에는 인간만 수행할 수 있었던 작업을 수행할 수 있습니다.

현재 많은 생산 시스템은 산업용 로봇을 사용하여 엔지니어링 및 제조의 인상적인 업적을 자동화하고 달성합니다. 제조 산업에서 산업 자동화의 사용과 발전은 에너지 및 원자재를 보다 효율적으로 사용하여 고품질의 더 안전한 제품을 생산합니다. 그러나 대부분의 경우 로봇은 고도로 구조화된 환경에서만 작동할 수 있습니다. 로봇은 일반적으로 변경하기가 어려우며 즉각적인 작업에 고도로 전문화되어 있습니다. 로봇은 동작을 제어하는 하드웨어와 소프트웨어의 규칙 때문에 개발하는 데 비용이 많이 들 수 있습니다.

자동화의 역설은 자동화 시스템이 더 효율적일수록 운영에 인적 구성 요소가 더 중요하다고 주장합니다. 인간의 역할은 일상적인 작업 단위당 노동에서 자동화된 시스템을 개선 및 관리하고 필수 도메인 전문 지식에 기여하는 것으로 변경됩니다. 자동화 시스템은 출력을 보다 효율적으로 생성할 수 있지만 제대로 설계되지 않거나 잘못 실행되는 경우 낭비와 문제를 일으킬 수도 있습니다. 자동화를 효율적으로 사용하면 인간이 덜 중요한 것이 아니라 더 중요해집니다.

AI 사용 사례

Diagram of the AI use case spectrum from augmentation to autonomy.

앞의 다이어그램에서 제어최적화 범주는 작업 자동화와 관련이 있습니다. AI 스펙트럼의 이쪽에는 실질적으로 무한한 문제 공간이 있습니다. 주제 전문 지식은 전략적 자산이고, 시뮬레이션은 가장 실행 가능한 학습 옵션이며, 설명 가능성은 매우 중요합니다.

오케스트레이터에는 스마트 제조Bonsai 머신 티칭 플랫폼이 포함됩니다. 사용 사례에는 고급 로봇 공학, 자율 주행 차량, 사람이 일하지 않는 공장, 스마트 센서, 경로 최적화, 재고 최적화, 가상 도우미가 포함됩니다.

보충 학습

머신 티칭은 RL(강화 학습)에 의존하여 모델을 학습하고 학습 프로세스의 패턴을 식별하고 고유한 방법으로 긍정적인 동작을 채택합니다. DRL(심층 강화 학습)은 복잡한 딥 러닝 신경망에 강화 학습을 적용합니다.

기계 학습의 RL은 소프트웨어 에이전트가 환경에서 보상과 원하는 결과를 최대화하는 방법을 학습하는 방법에 관한 것입니다. RL은 다음 세 가지 기본 기계 학습 패러다임 중 하나입니다.

  • 지도 학습은 태그가 지정되거나 구조화된 데이터에서 일반화됩니다.
  • 비지도 학습은 레이블이 지정되지 않은 데이터 또는 구조화되지 않은 데이터를 압축합니다.
  • 보충 학습은 시행착오를 통해 작동합니다.

지도 학습이 예제를 통한 학습이라면 강화 학습은 경험을 통한 학습입니다. 적합한 데이터 세트를 찾고 레이블을 지정하는 데 중점을 둔 지도 학습과 달리 RL은 작업 수행 방법의 모델을 설계하는 데 집중합니다.

주요 RL 구성 요소는 다음과 같습니다.

  • 에이전트: 현재 환경을 바꾸기 위한 의사 결정을 할 수 있는 엔터티.
  • 환경: 에이전트가 작동하는 물리적 세계 또는 시뮬레이션된 세계.
  • 상태: 에이전트와 그 환경의 현재 상황.
  • 작업: 환경에 대한 에이전트의 상호 작용.
  • 보상: 에이전트의 작업에 따른 환경의 피드백.
  • 정책: 에이전트의 현재 상태와 해당 환경을 작업에 매핑하는 메서드 또는 함수.

RL은 보상 함수와 정책을 사용하여 에이전트 작업을 평가하고 피드백을 제공합니다. 에이전트는 현재 환경을 기반으로 한 순차적인 의사 결정을 통해 시간이 지남에 따라 보상을 최대화하고 특정 상황에서 가능한 최선의 행동을 예측하는 방법을 학습합니다.

RL은 원하는 동작을 보상하고 원치 않는 동작을 보상하지 않음으로써 에이전트가 목표를 완료하도록 가르칩니다. 다음 다이어그램은 RL의 개념적 흐름과 주요 구성 요소가 상호 작용하는 방법을 보여 줍니다.

A diagram of the reinforcement learning (RL) process showing key components.

  1. 에이전트(이 경우 로봇)는 환경(이 경우 스마트 제조 라인)에서 작업을 합니다.
  2. 작업으로 인해 환경이 상태를 변경하고 변경된 상태를 에이전트에 반환합니다.
  3. 평가 메커니즘은 정책을 적용하여 에이전트에게 제공할 결과를 결정합니다.
  4. 보상 메커니즘은 긍정적인 보상을 통해 유익한 행동을 장려하고 페널티를 통해 부정적인 행동을 억제할 수 있습니다.
  5. 보상으로 인해 원하는 작업은 증가하는 반면, 페널티로 인해 원치 않는 작업은 감소합니다.

문제는 본질적으로 확률론적(임의)이거나 결정론적일 수 있습니다. 환경에 하나의 에이전트가 있는 것이 가장 일반적이지만 여러 에이전트가 있을 수도 있습니다. 에이전트는 관찰을 통해 환경을 감지합니다. 에이전트의 센서에 의해 결정된 대로 환경을 완전히 또는 부분적으로 관찰할 수 있으며 관찰은 불연속적이거나 연속적일 수 있습니다.

각 관찰 뒤에는 환경을 변경하는 작업이 뒤따릅니다. 이 주기는 터미널 상태에 도달할 때까지 반복됩니다. 일반적으로 시스템에는 메모리가 없으며 알고리즘은 단순히 제공된 상태, 도착하는 상태, 받는 보상에 대해서만 관심을 가집니다.

에이전트는 시행착오를 통해 학습하므로 작업을 평가하려면 대량의 데이터가 필요합니다. RL은 대규모 과거 데이터 본문이 있거나 시뮬레이션된 데이터를 쉽게 생성할 수 있는 도메인에 가장 적합합니다.

보상 함수

보상 함수는 특정 작업에 대한 보상의 양과 시기를 결정합니다. 보상 구조는 일반적으로 시스템 소유자가 정의합니다. 이 매개 변수를 조정하면 결과에 큰 영향을 미칠 수 있습니다.

에이전트는 보상 함수를 사용하여 주변 세계의 물리학 및 역학에 대해 학습합니다. 적어도 처음에 에이전트가 보상을 최대화하는 방법을 배우는 기본 프로세스는 시행착오입니다.

탐색과 악용의 절충

목표 및 보상 기능에 따라 에이전트는 탐색과 보상 최대화의 균형을 유지해야 합니다. 이 선택은 탐색과 악용의 절충이라고 합니다. 실제 세계의 여러 측면과 마찬가지로 에이전트는 미래에 더 나은 결정으로 이어질 수 있는 환경에 대한 추가 탐색의 장점과 에이전트가 현재 세계에 대해 가지고 있는 모든 지식을 사용하여 환경을 활용하여 균형을 유지해야 합니다. 다른 작업을 수행하면 특히 이전에 작업을 시도하지 않은 경우 새로운 관점을 제공할 수 있습니다.

다음 학습 대시보드는 탐색과 악용의 절충을 보여 줍니다. 차트는 y축의 에피소드 보상과 x축의 학습 반복과 함께 부드러운 보상과 에피소드 보상을 모두 보여 줍니다. 에피소드 보상 밀도는 처음 50,000회 반복에서 400으로 상승한 다음 400,000회 반복될 때까지 꾸준히 유지되다가 1,500회까지 상승하고 안정적으로 유지됩니다.

Reinforcement learning reward: chart showing exploration versus exploitation trade-off.

코브라 효과

보상은 경제학에서 코브라 효과로 알려진 것에 따라 달라질 수 있습니다. 영국의 식민지 인도 통치 기간 동안 정부는 죽은 코브라에 대해 보상을 제공하여 많은 야생 코브라 뱀 개체수를 줄이기로 결정했습니다. 처음에 이 정책은 많은 수의 뱀을 보상을 받기 위해 죽이면서 성공을 거두었습니다. 그러나 사람들이 시스템을 이용하기 시작하고 코브라를 의도적으로 사육하여 보상을 수집하는 데는 오랜 시간이 걸리지 않았습니다. 결국 당국은 이러한 행동을 인지하고 프로그램을 취소했습니다. 인센티브가 없어지자 코브라 사육자들은 뱀을 풀어주었고 그 결과 야생 코브라 개체수가 실제로 인센티브 시작 시에 비해 증가했습니다.

선의의 인센티브는 상황을 개선하기는커녕 악화시켰습니다. 이를 통해 에이전트가 인센티브를 주는 행동을 학습하며 이것이 의도한 결과로 이어지지 않을 수 있다는 점을 배울 수 있습니다.

모양 보상

특정 모양으로 보상 함수를 만들면 에이전트가 적절한 정책을 보다 쉽고 빠르게 학습할 수 있습니다.

단계 함수는 에이전트에 해당 작업이 얼마나 좋은지 알려주지 않는 희소 보상 함수의 예입니다. 다음 단계 보상 함수에서는 0.0에서 0.1 사이의 거리 동작만 1.0의 전체 보상을 생성합니다. 거리가 0.1보다 크면 보상이 없습니다.

Reinforcement learning reward: chart showing a step reward function.

반면, 모양 보상 함수는 에이전트에게 작업이 원하는 응답에 얼마나 가까운지 나타내는 표시를 제공합니다. 다음 모양의 보상 함수는 응답이 원하는 0.0 작업에 얼마나 가까운지에 따라 더 큰 보상을 제공합니다. 함수의 곡선은 쌍곡선입니다. 보상은 거리 0.0에 대해 1.0이고 거리가 1.0에 가까워지면 점차 0.0으로 떨어집니다.

Reinforcement learning: chart showing a shaped reward function.

모양 지정은 미래 보상의 가치를 즉각적인 보상보다 할인하거나 목표 주변의 보상 크기를 축소하여 탐색을 장려할 수 있습니다.

경우에 따라 보상 함수는 순서가 지정된 일련의 작업을 장려하기 위해 시간적 및 공간적 고려 사항을 지정할 수 있습니다. 그러나 모양이 지정된 보상 함수가 크고 복잡해지는 경우 문제를 더 작은 단계로 분리하고 개념 네트워크를 사용하는 것이 좋습니다.

개념 네트워크

개념 네트워크를 사용하면 도메인별 지식 및 주제 전문 지식을 지정하고 다시 사용하여 원하는 동작 순서를 특정 작업 순서로 수집할 수 있습니다. 개념 네트워크는 에이전트가 작동하고 작업을 수행할 수 있는 검색 공간을 제한하는 데 도움이 됩니다.

개체를 파악하고 쌓기 위한 다음 개념 네트워크에서 Grasp and Stack 상자는 두 개의 회색 상자인 Reach and Move와 세 개의 녹색 상자인 Orient, Grasp, Stack 상자의 부모입니다.

Example concept network allowing a reinforcement learning reward function to be more easily defined.

개념 네트워크는 종종 보상 기능을 보다 쉽게 정의할 수 있도록 합니다. 각 개념은 해당 작업에 가장 적합한 방법을 사용할 수 있습니다. 개념 네트워크의 개념은 솔루션을 구성 요소로 분해하는 데 도움이 됩니다. 전체 시스템을 재학습하지 않고 구성 요소를 교체하여 미리 학습된 모델을 재사용하고 기존 컨트롤러 또는 기타 기존 에코시스템 구성 요소를 사용할 수 있습니다. 특히 산업 제어 시스템에서는 완전한 제거 및 교체보다 점진적인 증분 개선이 더 바람직할 수 있습니다.

커리큘럼 학습 및 견습 학습

문제를 개념 네트워크를 사용하여 별도의 순차 작업으로 분할하면 문제를 난이도의 단계로 분할하고 문제를 증가하는 난이도의 커리큘럼으로 에이전트에 제시할 수 있습니다. 이 단계적 접근 방식은 간단한 문제로 시작하여 에이전트가 연습할 수 있게 한 다음, 기능이 증가함에 따라 점점 더 많은 문제를 해결합니다. 보상 함수는 에이전트가 작업에 더 많은 기능을 제공함에 따라 변경되고 발전합니다. 이 커리큘럼 학습 접근 방식은 탐색을 안내하고 필요한 학습 시간을 크게 줄이는 데 도움이 됩니다.

또한 외부 전문가의 동작을 모방하여 학습하도록 지시하여 에이전트에 대한 정책 검색 공간을 제한할 수도 있습니다. 견습 학습은 전문가가 안내하는 모범을 사용하여 에이전트가 탐색하는 상태 공간을 제한합니다. 견습 학습은 새로운 솔루션을 검색하지 않는 대신 알려진 솔루션을 더 빨리 배우는 것을 차단합니다.

견습 학습의 예는 자율 주행 자동차 에이전트에게 인간 운전자의 행동을 모방하도록 가르치는 것입니다. 에이전트는 운전 방법을 배우지만 교사의 결점과 특이성도 상속합니다.

RL 기반 AI 시스템 설계

다음 전략은 RL 기반 AI 시스템을 구성하고 빌드하기 위한 실용적인 가이드입니다.

  1. 상태, 최종 조건, 작업 및 보상을 수식화하고 반복합니다.
  2. 필요에 따라 모양을 지정하여 보상 함수를 만듭니다.
  3. 특정 하위 목표에 대한 보상을 할당합니다.
  4. 필요한 경우 보상을 적극적으로 할인합니다.
  5. 초기 상태를 실험합니다.
  6. 학습에 대한 예제 샘플링을 실험합니다.
  7. 학습 중에 시뮬레이션 역학 매개 변수의 변형을 제한합니다.
  8. 예측 중에 일반화하고 학습을 최대한 원활하게 유지합니다.
  9. 실제 머신의 노이즈를 수용하기 위해 물리적으로 관련된 노이즈를 도입합니다.

시뮬레이션

AI 시스템은 데이터를 많이 사용하며 적절한 결정을 내리도록 학습하려면 많은 시나리오에 노출되어야 합니다. 시스템에는 실제 환경에서 손상을 입힐 위험이 있는 값비싼 프로토타입이 필요한 경우가 많습니다. 고화질 학습 데이터를 수집하고 수동으로 레이블을 지정하는 비용은 시간과 직접 노동 측면에서 모두 높습니다. 시뮬레이터와 시뮬레이터에서 생성된 조밀하게 레이블이 지정된 학습 데이터를 사용하는 것은 이러한 데이터 부족의 대부분을 해결할 수 있는 강력한 수단입니다.

차원의 저주는 고차원 공간에서 대량의 데이터를 처리할 때 발생하는 현상을 나타냅니다. 특정 시나리오 및 문제 세트를 정확하게 모델링하려면 심층 신경망을 사용해야 합니다. 이러한 네트워크 자체는 높은 차원이며, 피팅이 필요한 많은 매개 변수가 있습니다. 차원이 증가함에 따라 사용 가능한 실제 데이터가 희소해지는 되는 속도로 공간의 부피가 증가하므로 통계적으로 유의미한 상관 관계를 만들기에 충분한 데이터를 수집하기가 어렵습니다. 충분한 데이터가 없으면 학습 결과 데이터에 적합하지 않은 모델이 생성되고 새 데이터에 잘 일반화되지 않아 모델의 목적을 상실합니다.

문제는 두 가지입니다.

  • 학습 알고리즘은 문제를 정확하게 모델링할 수 있는 학습 용량이 크지만 과소적합을 방지하기 위해 더 많은 데이터가 필요합니다.
  • 이 많은 양의 데이터를 수집하고 레이블을 지정하는 것은 어렵고 비용이 많이 들고 오류가 발생하기 쉽습니다.

시뮬레이션은 의도한 물리적 환경에서 시스템을 가상으로 모델링하여 엄청난 양의 실제 학습 데이터를 수집해야 하는 대안을 제공합니다. 시뮬레이션을 통해 위험한 환경이나 다양한 유형의 기상 조건과 같이 실제 세계에서 재현하기 어려운 조건에서 학습할 수 있습니다. 인위적으로 시뮬레이션된 데이터는 데이터 수집의 난이도를 회피하고 알고리즘을 실제 세계로 정확하게 일반화할 수 있는 예제 시나리오를 적절하게 제공합니다.

시뮬레이션은 다음과 같은 이유로 DRL에 이상적인 학습 원본입니다.

  • 사용자 지정 환경에 유연합니다.
  • 데이터 생성에 안전하고 비용 효율적입니다.
  • 병렬화할 수 있으므로 학습 시간을 단축할 수 있습니다.

시뮬레이션은 기계 및 전기 공학, 자율 주행 차량, 보안 및 네트워킹, 운송 및 물류, 로봇 공학을 포함한 광범위한 산업 및 시스템에서 사용할 수 있습니다.

시뮬레이션 도구에는 다음이 포함됩니다.

  • Simulink는 동적 시스템을 모델링, 시뮬레이션, 분석하기 위해 MathWorks에서 개발한 그래픽 프로그래밍 도구입니다.
  • Gazebo는 복잡한 실내 및 실외 환경에서 로봇의 모집단을 정확하게 시뮬레이션할 수 있는 도구입니다.
  • Microsoft AirSim는 오픈 소스 로봇 시뮬레이션 플랫폼입니다.

머신 티칭 패러다임

머신 티칭은 알고리즘에서 성공적인 모델 생성 및 배포로 초점을 옮기는 ML 시스템 구축을 위한 새로운 패러다임을 제공합니다. 머신 티칭은 학습 프로세스 자체의 패턴을 식별하고 자체 메서드에 긍정적인 동작을 채택합니다. 기계 학습 활동의 대부분은 기존 알고리즘을 개선하거나 새로운 학습 알고리즘을 개발하는 데 중점을 줍니다. 반면 머신 티칭은 교사 자신의 효능감에 중점을 둡니다.

머신 티칭:

  • 인간 도메인 전문가의 주제 전문 지식을 AI 및 ML과 결합합니다.
  • 심층 강화 학습 알고리즘 및 모델의 생성 및 관리를 자동화합니다.
  • 모델 최적화 및 확장성을 위해 시뮬레이션을 통합합니다.
  • 결과 모델의 동작에 대한 더 큰 설명 가능성을 제공합니다.

기계 학습의 현황은 주로 몇몇 알고리즘 전문가에 의해 결정되었습니다. 이러한 전문가는 ML에 대해 깊이 이해하고 있으며 필요한 성능 또는 정확도 메트릭을 충족하도록 ML 알고리즘 또는 아키텍처를 변경할 수 있습니다. 전 세계 ML 전문가 수는 수만 명에 달하는 것으로 추정되며 이로 인해 ML 솔루션 채택 속도가 느려질 수 있습니다. 모델이 지나치게 복잡해지면 많은 사람들이 ML 기능을 사용하지 못하게 됩니다.

ML 전문가는 거의 없지만 주제 전문가는 풍부합니다. 전 세계적으로 수천만 명의 도메인 전문가가 있습니다. 머신 티칭은 문제의 의미 체계를 이해하고 예제를 제공할 수 있지만 ML의 복잡성은 인식할 필요가 없는 이 더 큰 전문가 풀을 활용합니다. 머신 티칭은 가르칠 내용과 가르치는 방법을 명문화하여 주제 전문 지식을 효율적으로 프로그래밍하는 데 필요한 기본 추상화입니다. AI 배경이 없는 주제 전문가는 전문 지식을 단계와 작업, 기준, 원하는 결과로 분류할 수 있습니다.

엔지니어의 경우 머신 티칭은 AI 알고리즘 선택 및 하이퍼 매개 변수 조정을 넘어 추상화의 기준을 높여 더 가치 있는 애플리케이션 도메인 문제에 집중합니다. 자율 시스템을 빌드하는 엔지니어는 시스템 및 환경의 정확하고 상세한 모델을 만들고 딥 러닝, 모방 학습, 강화 학습과 같은 방법을 사용하여 지능적으로 만들 수 있습니다. 머신 티칭의 또 다른 반가운 결과는 개발 중에 머신 러닝 전문가의 수작업 필요성을 줄이거나 없애 모델 배포 시간을 단축하는 것입니다.

머신 티칭은 일반적인 ML 사례를 살펴보고 자체 메서드에 유익한 전략을 채택하여 ML 솔루션을 빌드하는 프로세스를 간소화합니다. Microsoft Autonomous Systems Platform의 머신 티칭 서비스인 Bonsai는 개발자의 지침과 구성을 통해 AI 모델을 AI 시스템으로 개발하는 과정을 자동화할 수 있습니다.

Bonsai는 버전 제어 도구를 사용하여 각 프로젝트의 현재 상태를 추적하는 쉽게 이해할 수 있는 중앙 대시보드를 제공합니다. 이 머신 티칭 인프라를 사용하면 모델 결과를 재현할 수 있고 개발자가 미래의 AI 알고리즘 혁신으로 AI 시스템을 쉽게 새로 고칠 수 있습니다.

Project Bonsai dashboard: a low code industrial AI development platform.

머신 티칭 방법론으로의 관점 전환은 ML 모델을 생성하고 배포하기 위한 보다 간소화되고 액세스 가능한 프로세스로 ML 채택을 촉진합니다. 머신 티칭은 도메인 전문가가 DRL의 힘을 도구로 적용할 수 있는 방법을 제공합니다. 머신 티칭은 AI 기술을 ML 알고리즘 및 기술에 중점을 두는 것에서 도메인 전문가가 이러한 알고리즘을 실제 문제에 적용하는 것으로 옮겨갑니다.

머신 티칭 프로세스

머신 티칭 개발 및 배포에는 빌드, 학습, 배포의 세 가지 단계가 있습니다.

Machine teaching process phases: build, train, and deploy.

  1. 빌드 단계는 머신 티칭 프로그램을 작성하고 도메인별 학습 시뮬레이터에 연결하는 것으로 구성됩니다. 시뮬레이터는 실험 및 기계 연습을 위한 충분한 학습 데이터를 생성합니다.
  2. 학습 단계에서 학습 엔진은 상위 수준 도메인 모델을 적절한 DRL 알고리즘 및 인공신경망과 결합하여 DRL 모델 생성 및 학습을 자동화합니다.
  3. 배포 단계에서는 학습된 모델을 클라우드, 온-프레미스 또는 임베딩된 사이트의 대상 애플리케이션에 배포합니다. 특정 SDK 및 배포 API는 학습된 AI 시스템을 다양한 대상 애플리케이션에 배포하고 머신 튜닝을 수행하며 실제 시스템을 제어합니다.

시뮬레이션된 환경은 많은 사용 사례 및 시나리오를 포함하는 대량의 가상 데이터를 생성합니다. 시뮬레이션은 모델 알고리즘 학습을 위한 안전하고 비용 효율적인 데이터 생성을 제공하며, 시뮬레이션 병렬 처리를 통해 학습 시간을 단축합니다. 시뮬레이션은 다양한 종류의 환경 조건 및 시나리오에서 모델을 학습시키는 데 도움이 되며, 실제 환경에서 실현 가능한 것보다 훨씬 빠르고 안전합니다.

주제 전문가는 에이전트가 시뮬레이션된 환경에서 문제를 해결하기 위해 작업하는 동안 에이전트를 감독하고 에이전트가 시뮬레이션 내에서 동적으로 적응할 수 있도록 피드백과 지침을 제공할 수 있습니다. 학습이 완료되면 엔지니어는 학습된 에이전트를 실제 하드웨어에 배포하여 지식을 사용하여 실제 세계에서 자율 시스템에 전력을 공급할 수 있습니다.

기계 학습 및 머신 티칭

머신 티칭 및 기계 학습은 상호 보완적이며 독립적으로 발전할 수 있습니다. 기계 학습 연구는 기계 학습 알고리즘을 개선하여 학습자를 개선하는 데 중점을 둡니다. 머신 티칭 연구는 기계 학습 모델을 빌드할 때 교사의 생산성을 높이는 데 중점을 둡니다. 머신 티칭 솔루션에는 교육 프로세스 전반에 걸쳐 모델을 생성하고 테스트하는 여러 기계 학습 알고리즘이 필요합니다.

다음 다이어그램은 기계 학습 모델을 빌드하기 위한 대표적인 파이프라인을 보여 줍니다.

A diagram showing a typical pipeline for building a machine learning model.

  1. 문제 소유자는 데이터 세트를 수집하고 레이블을 지정하거나 레이블 지정 작업을 아웃소싱할 수 있도록 레이블 지침을 조립합니다.
  2. 문제 소유자는 레이블의 품질이 만족스러울 때까지 레이블을 검토합니다.
  3. 기계 학습 전문가는 알고리즘, 모델 아키텍처, 목표 함수, 정규화 및 교차 유효성 검사 세트를 선택합니다.
  4. 엔지니어는 모델을 주기적으로 학습시켜 기능을 조정하거나 새로운 기능을 만들어 모델 정확도와 속도를 개선합니다.
  5. 모델은 작은 샘플에서 테스트됩니다. 테스트에서 시스템이 잘 작동하지 않으면 이전 단계가 반복됩니다.
  6. 모델 성능은 필드에서 모니터링됩니다. 성능이 위험 수준 이하로 떨어지면 이전 단계를 반복하여 모델이 수정됩니다.

머신 티칭은 이러한 모델의 생성을 자동화하여 기능 선택 또는 예제를 개선하거나 하이퍼 매개 변수를 조정하기 위해 학습 프로세스에서 수작업의 필요성을 완화합니다. 실제로 머신 티칭은 모델의 AI 요소에 대한 추상화 수준을 도입하여 개발자가 도메인 지식에 집중할 수 있도록 합니다. 또한 이러한 추상화를 통해 문제를 다시 지정하지 않고도 AI 알고리즘을 새로운 혁신적인 알고리즘으로 대체할 수 있습니다.

교사의 역할은 유용한 모델을 생성할 수 있도록 학습 알고리즘에 대한 지식 전달을 최적화하는 것입니다. 또한 교사는 데이터 수집 및 레이블 지정에서 중심적인 역할을 합니다. 교사는 레이블이 지정되지 않은 데이터를 필터링하여 특정 예제를 선택하거나 사용 가능한 예제 데이터를 살펴보고 자신의 직관이나 편견에 따라 레이블을 추측할 수 있습니다. 마찬가지로, 레이블이 지정되지 않은 대형 세트의 두 가지 기능을 고려할 때 교사는 하나가 다른 세트보다 더 낫다는 것을 추측할 수 있습니다.

다음 이미지는 머신 티칭의 개략적인 프로세스를 보여 줍니다.

The machine teaching process at a high level.

  1. 교사는 먼저 학습 집합이 실현 가능한지 질문합니다.
  2. 학습 집합을 실현할 수 없는 경우 교사는 문제가 부적절한 레이블 지정 또는 기능 결함 때문인지 여부를 결정합니다. 레이블 지정을 수정하거나 기능을 추가한 후 교사는 학습 집합이 실현 가능한지 다시 평가합니다.
  3. 학습 집합이 실현 가능한 경우 교사는 학습 품질 기준이 충족되는지 여부를 평가합니다.
  4. 품질 기준이 충족되지 않으면 교사는 테스트 오류를 찾아 학습 집합에 수정 사항을 추가한 다음 평가 단계를 반복합니다.
  5. 학습 집합이 실현 가능하고 품질 조건이 충족되면 프로세스가 완료됩니다.

프로세스는 한 쌍의 무기한 루프로, 모델과 학습 자체가 충분한 품질일 때만 끝납니다.

모델의 학습 용량은 수요에 따라 증가합니다. 교사는 필요한 경우에만 기능을 추가하여 학습 시스템의 용량을 제어하기 때문에 기존 정규화가 필요하지 않습니다.

머신 티칭 및 기존 프로그래밍

머신 티칭은 프로그래밍의 한 형태입니다. 프로그래밍 및 머신 티칭의 목표는 함수를 만드는 것입니다. 입력 X가 지정된 값 Y를 반환하는 상태 비저장 대상 함수를 만드는 단계는 두 프로세스 모두 유사합니다.

Machine teaching vs. programming or traditional software engineering.

  1. 대상 함수를 지정합니다.
  2. 해당하는 경우 대상 함수를 하위 기능으로 분해합니다.
  3. 함수 및 하위 기능을 디버그하고 테스트합니다.
  4. 함수를 문서화합니다.
  5. 함수를 공유합니다.
  6. 함수를 배포합니다.
  7. 예약 및 예약되지 않은 디버그 주기를 사용하여 함수를 유지 관리합니다.

솔루션의 성능 디버깅 또는 평가에는 두 프로세스 간에 서로 다른 특성이 있습니다. 프로그래밍에서 디버깅에는 수동으로 코드를 편집하고 다시 컴파일하는 작업이 포함됩니다. 머신 티칭에서 디버깅에는 지식 레이블 및 기능 추가 및 추가 학습이 포함됩니다.

입력 X가 지정된 클래스 Y를 반환하는 대상 분류 함수를 빌드하려면 기계 학습 알고리즘이 포함되지만 머신 티칭 프로세스는 위의 프로그래밍 단계 집합과 같습니다.

다음 표에서는 기존 프로그래밍과 머신 티칭 간의 몇 가지 개념적 유사성을 보여 줍니다.

프로그래밍 머신 티칭
컴파일러 기계 학습 알고리즘, SVMS(지원 벡터 머신), 신경망, 학습 엔진
운영 체제, 서비스, IDE(통합 개발 환경) 학습, 샘플링, 기능 선택, 기계 학습 서비스
프레임워크 ImageNet, word2vec
Python 및 C#과 같은 프로그래밍 언어 Inkling, 레이블, 기능, 스키마
프로그래밍 전문 지식 교육 전문 지식
버전 제어 버전 제어
사양, 단위 테스트, 배포, 모니터링과 같은 개발 프로세스 데이터 수집, 테스트, 게시와 같은 교육 프로세스

소프트웨어 엔지니어가 복잡한 문제를 해결하는 시스템을 작성할 수 있는 강력한 개념은 분해입니다. 분해는 더 단순한 개념을 사용하여 더 복잡한 개념을 표현합니다. 머신 교사는 적절한 도구와 환경으로 복잡한 기계 학습 문제를 분해하는 방법을 배울 수 있습니다. 머신 티칭 분야는 머신을 프로그래밍에 필적하는 수준으로 가르치는 성공에 대한 기대치를 가져올 수 있습니다.

머신 티칭 프로젝트

사전 요구 사항:

  • 데이터 수집, 탐색, 정리, 준비, 분석에 대한 약간의 경험
  • 목표 함수, 학습, 교차 검증, 정규화와 같은 기본 ML 개념에 대한 숙지

머신 티칭 프로젝트를 빌드할 때 빠른 반복 및 공식화를 허용하기 위해 실제에 충실하지만 비교적 간단한 모델로 시작합니다. 그런 다음 모델의 충실도를 반복적으로 개선하고 더 나은 시나리오 검사를 통해 모델을 보다 일반화할 수 있도록 합니다.

다음 다이어그램은 반복적인 머신 티칭 모델 개발의 단계를 보여 줍니다. 각 연속 단계에는 더 많은 수의 학습 샘플이 필요합니다.

Diagram showing the phases of iterative model development.

  1. 접근 방식 유효성 검사를 위해 초기 대략적인 시뮬레이션 모델을 설정합니다.
  2. 반복 교육 개선과 동시에 환경 역학을 모델링하여 시뮬레이션 충실도를 향상합니다.
  3. 동적 무작위화와 확장을 사용하여 모델을 일반화합니다.
  4. 실제 시스템 역학을 측정하고 실제 장비에서 학습된 모델을 테스트합니다.
  5. 더 많은 장비 변형을 포함하도록 모델을 확장합니다.

머신 티칭 프로젝트에 대한 정확한 매개 변수를 정의하려면 상당한 실험과 경험적 탐색이 필요합니다. Microsoft 자치 시스템 플랫폼의 Bonsai와 같은 기계 교육 플랫폼 은 DRL 혁신 및 시뮬레이션을 사용하여 AI 모델 개발을 간소화합니다.

예제 프로젝트

자율 시스템 AI 프로젝트의 예는 제조 공정 최적화의 사용 사례입니다. 목표는 생산 라인에서 제조되는 강철 빔의 두께 허용 오차를 최적화하는 것입니다. 롤러는 강철 조각에 압력을 가하여 강철 조각을 설계된 두께로 성형합니다.

AI 시스템에 대한 기계 상태 입력은 회전력, 롤러 오류 및 롤러 소음입니다. AI 시스템의 제어 동작은 롤러의 작동 및 동작을 제어하고 강철 빔의 두께 공차를 최적화하는 액추에이터 명령입니다.

먼저 에이전트, 센서 및 환경을 시뮬레이션할 수 있는 시뮬레이터를 찾거나 개발합니다. 다음 Matlab 시뮬레이션 모델은 이 AI 시스템에 대한 정확한 학습 환경을 제공합니다.

Simulink model for steel beam manufacturing process.

Microsoft 자율 시스템 플랫폼의 Bonsai 머신 티칭 서비스를 사용하여 머신 티칭 계획을 모델로 구축하고, 시뮬레이터에 대해 모델을 학습하고, 학습된 AI 시스템을 실제 생산 시설에 배포합니다. Inkling은 머신 티칭 계획을 공식적으로 설명하는 용도에 맞는 언어입니다. Bonsai에서 Inkling을 사용하여 문제를 스키마로 분해할 수 있습니다.

Define machine state and control action in Inkling code.

그런 다음 주요 개념을 정의하고 AI 시스템을 교육하는 커리큘럼을 만들고 시뮬레이션 상태에 대한 보상 함수를 지정합니다.

Define curriculum in Inkling code.

AI 시스템은 머신 티칭의 개념에 따라 시뮬레이션에서 최적화 작업을 연습하여 학습합니다. 시뮬레이션을 Bonsai에 업로드할 수 있습니다. 여기서는 실행 시 학습 진행 상황을 시각화합니다.

모델 또는 브레인을 빌드하고 학습한 후에는 최적의 액추에이터 명령이 AI 엔진에서 스트리밍되어 운영자 결정을 실시간으로 지원하는 프로덕션 시설에 배포하도록 내보낼 수 있습니다.

다른 예제 애플리케이션

다음 머신 티칭 예제에서는 물리적 시스템의 동작을 제어하는 정책을 만듭니다. 두 경우 모두 에이전트에 대한 정책을 수동으로 만드는 것은 불가능하거나 매우 어렵습니다. 에이전트가 시뮬레이션의 공간을 탐색하고 보상 함수를 통해 선택할 수 있도록 안내하면 정확한 솔루션이 생성됩니다.

Cartpole

Bonsai의 샘플 Cartpole 프로젝트에서 목표는 막대가 움직이는 카트에 똑바로 서 있도록 가르치는 것입니다. 막대는 비활성 조인트에 의해 마찰 없는 트랙을 따라 이동하는 카트에 부착됩니다. 사용 가능한 센서 정보에는 카트 위치 및 속도, 막대 각도, 각속도가 포함됩니다.

카트에 힘을 적용하면 시스템이 제어됩니다. 지원되는 에이전트 작업은 카트를 왼쪽 또는 오른쪽으로 미는 것입니다. 이 프로그램은 막대가 똑바로 유지되는 모든 단계에 대해 긍정적인 보상을 제공합니다. 막대가 수직에서 15도 이상 벗어나거나 카트가 중심에서 미리 정의된 단위 수 이상 이동하면 에피소드가 종료됩니다.

이 예제에서는 Inkling 언어를 사용하여 머신 티칭 프로그램을 작성하고 제공된 Cartpole 시뮬레이터를 사용하여 학습을 가속화하고 개선합니다.

Inkling code and Cartpole simulator

다음 Bonsai 스크린샷은 y축에 목표 만족도가 있고 x축에 학습 반복이 있는 Cartpole 학습을 보여 줍니다. Bonsai 대시보드에는 목표 만족도의 비율과 총 학습 시간도 표시됩니다.

Bonsai dashboard showing the Cartpole training example.

Cartpole 예제에 대한 자세한 내용을 확인 하거나 직접 시도해 보려면 AI 에이전트에게 극의 균형을 맞추는 방법을 알아보세요.

석유 시추

수평 석유 시추 애플리케이션은 지하에서 수평으로 굴착하는 석유 굴착 장치를 자동화하는 모션 컨트롤러입니다. 작업자는 장애물을 피하면서 드릴을 석유 셰일 내부에 유지하기 위해 조이스틱으로 드릴을 지하에서 제어합니다. 드릴은 더 빠른 시추를 위해 가능한 조향 작업을 적게 수행합니다. 목표는 강화 학습을 사용하여 수평 오일 드릴의 제어를 자동화하는 것입니다.

사용 가능한 센서 정보에는 드릴 비트 힘 방향, 드릴 비트의 무게, 측면 힘, 드릴 각도가 포함됩니다. 지원되는 에이전트 작업은 드릴 비트를 위쪽, 아래쪽, 왼쪽 또는 오른쪽으로 이동하는 것입니다. 이 프로그램은 드릴이 챔버 벽의 허용 오차 범위 내에 있을 때 긍정적인 보상을 제공합니다. 이 모델은 다양한 유정 계획, 시추 시작 위치, 센서 부정확성에 적응하는 방법을 학습합니다.

Horizontal oil drilling example application.

이 솔루션에 대한 자세한 내용과 데모는 모션 제어: 수평 석유 시추를 참조하세요.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계

머신 티칭에 대해 자세히 알아보세요.