딥 러닝이란 무엇인가요?
Basler는 "기계는 어떻게 학습하나요? "라는 질문을 통해 머신러닝에 대한 기초적인 내용과 머신러닝이 신경망을 이용해 지능화되는 원리에 대해 설명합니다. 이 문서에서는 머신러닝의 하위 분야 각각에 대해 자세히 살펴보고 이 주제와 관련하여 반복적으로 사용되는 다양한 기술 용어에 대해 설명하고자 합니다. 머신러닝의 하위 분야인 딥 러닝은 인공지능의 한 분야로 간주됩니다.
1. 인공지능(AI)
AI는 일반적으로 기계 또는 일반적으로 컴퓨터 프로그램을 통해 인간 행동의 구조를 모방하거나 복제하는 것을 가리킵니다. AI라는 용어는 전문가 시스템, 패턴 분석 시스템 또는 로봇 공학 등 다양한 하위 분야에서 사용됩니다. AI 기반의 시스템은 인간의 행동과 의사 결정 구조를 모방하거나 모델링하기 위해 통계학적 알고리즘, 휴리스틱 절차, 인공 신경망(ANN) 또는 그 밖의 머신러닝 변형 등 다양한 방법을 활용합니다.
2. 머신러닝
AI의 하위 분야인 머신러닝은 복수의 예시 데이터에서 일반적인 규칙을 도출하기 위한 자동화된 절차로 구성됩니다. 즉, 예시 데이터를 통해 규칙을 "학습"합니다. 이러한 작업은 사전 정의되어 있고 이해하기 쉬운 알고리즘과 규칙을 적용하여 수행되거나, 딥 러닝의 경우 인공 신경망을 사용하여 수행됩니다. 머신러닝은 지도 학습과 비지도 학습으로 구분됩니다. 지도 학습에서 학습을 위한 샘플 데이터는 입력값과 대응되는 예상 결과(예: 분류)를 모두 포함하는 반면, 비지도 학습에서는 시스템이 입력값 자체에서 가능한 결과를 식별합니다.
3. 딥 러닝
딥 러닝은 머신 러닝의 한 방법으로, 학습 과정 동안 인공 신경망으로서 예시 데이터에서 얻은 일반적인 규칙을 독립적으로 구축(훈련)합니다. 특히 머신 비전 분야에서 신경망은 일반적으로 데이터와 예제 데이터에 대한 사전 정의된 결과와 같은 지도 학습을 통해 학습됩니다.
딥 러닝의 작동 원리
1. 인공 신경망
딥러닝은 특정 형태의 인공신경망(ANN)을 사용하는데, 이 인공신경망은 먼저 샘플 데이터로 학습되어야 합니다. 그런 다음 훈련된 ANN을 작업에 사용할 수 있습니다. 훈련된 ANN을 사용하는 것을 추론이라고 합니다. '추론' 과정에서 ANN은 학습된 규칙에 따라 제공된 데이터에 대한 평가를 다시 보고합니다. 예를 들어 입력 이미지에 결함이 있거나 오류가 없는 물체를 나타내는지 여부를 추정할 수 있습니다.
2. 뉴런, 계층 및 연결
ANN은 서로 연결된 '뉴런' 레이어로 구성됩니다. 가장 간단한 경우는 입력 레이어와 출력 레이어만 있는 경우입니다. 뉴런과 링크는 행렬로 생각할 수 있습니다. 링크 행렬(link matrix)은 입력 행렬(input matrix)의 각 값에 대해 결과 행렬(result matrix)의 값에 대한 연결을 포함합니다. 링크 행렬의 값에는 각 연결의 가중치가 포함되어 있습니다. 입력값과 논리 행렬(logic matrix)의 값에 가중치를 부여하면 결과 행렬에서의 해당 값이 생성됩니다.
3. 심층 인공 신경망
딥러닝이라는 용어는 소위 '심층' 인공 신경망의 학습을 설명합니다. 이는 입력 및 출력 레이어 외에도 입력과 출력을 위한 가시 레이어 사이에 수백 개의 추가 '숨겨진' 레이어로 구성되어 있습니다. 숨겨진 레이어의 결과 행렬은 다음 레이어의 입력 행렬로 사용됩니다. 이 경우 마지막 레이어의 출력 행렬에만 결과가 포함됩니다.
4. 훈련
ANN을 훈련할 때 초점은 처음에 무작위로 설정됩니다. 그런 다음 샘플 데이터를 점차적으로 추가합니다. 학습 규칙은 입력 데이터와 예상 결과에 따라 관계의 가중치를 조정하는 데 사용됩니다. 인공 신경망이 궁극적으로 얼마나 잘 작동하는지, 즉 결과에서 평가의 정확도는 학습의 예제 데이터에 따라 크게 달라집니다. 일반적으로 학습 내용의 가변성이 높은 예제 데이터가 많을수록 추론 결과의 정확도가 높아집니다. 매우 유사하거나 반복적인 데이터를 많이 사용하여 학습을 수행하면 예제 데이터와 다른 현장의 데이터를 ANN이 추정할 수 없게 됩니다. 이 경우 ANN을 '과적합(overfitting)'이라고 합니다.
딥 러닝의 활용 용도
크기와 관계 없이 쿠키를 싫어하는 사람은 없습니다. 이와 같은 쿠키에 대한 비유는 딥 러닝의 작동 원리를 보여줍니다. 딥 러닝의 적용 영역은 매우 다양합니다. 특히 머신 비전 분야에서 딥 러닝은 매우 다양한 작업에 널리 사용되는 방법입니다. 시각 분야에서 딥 러닝에 맞는 가장 일반적인 작업은 이미지 데이터의 분류 및 세분화를 위한 이미지 분석 작업일 것입니다.
1. 이미지 분류
이미지 분류 작업에서는 이미지를 결함이 있는 구성 요소와 정상적인 구성 요소로 분리한 후 결함의 종류에 따라 정렬하거나 빈 이미지를 다른 카테고리에 할당하는 등 이미지들이 서로 다른 클래스에 할당됩니다. 쿠키 제조 과정에서 쿠키에 아무런 문제가 발생하지 않았는지 또는 쿠키의 일부가 부서졌는지를 확인하는 작업이 이뤄지는 것과 유사합니다.
2. 이미지 세분화 및 오브젝트 인식
이미지 세분화 작업은 이미지의 각 픽셀을 하나의 클래스에 할당합니다. 이를 통해 이미지에서 여러 가지 오브젝트들을 식별할 수 있습니다. 예를 들어 쇼핑 바구니에서 서로 다른 과일 조각을 식별하거나 교통 표지판, 도로 및 사람을 구별할 수 있습니다. 이미지 세분화를 통해 어셈블리 라인에서 원형, 정사각형, 육각형 등 어떤 모양의 쿠키가 운반되는지 등을 확인할 수 있습니다.
3. 이미지 처리
딥러닝은 이미지 데이터를 처리하고 최적화하는 데 매우 유용합니다. 예를 들어, 이미지에서 불필요한 노이즈를 제거하거나 광학 렌즈로 인한 왜곡을 보정하는 데 활용할 수 있습니다.