머신러닝 용어집: 이미지 모델

이 페이지에는 이미지 모델 용어집 용어가 포함되어 있습니다. 모든 용어집 용어를 보려면 여기를 클릭하세요.

A

증강 현실

#image

컴퓨터 생성 이미지를 사용자의 실제 시야에 겹쳐서 복합 뷰를 제공하는 기술입니다.

오토인코더

#language
#image

입력에서 가장 중요한 정보를 추출하는 방법을 학습하는 시스템입니다. 자동 인코더는 인코더디코더의 조합입니다. 자동 인코더는 다음 2단계 프로세스를 사용합니다.

  1. 인코더가 (보통) 손실이 있는 저차원(중간) 형식으로 입력을 매핑합니다.
  2. 디코더는 저차원 형식을 원래 고차원 입력 형식에 매핑하여 원본 입력의 손실(lossy) 버전을 빌드합니다.

오토인코더는 디코더가 인코더의 중간 형식에서 원래 입력을 최대한 가깝게 재구성하도록 시도함으로써 엔드 투 엔드 학습을 진행합니다. 중간 형식이 원래 형식보다 작기 때문에(저차원) 오토인코더는 입력에 필수적인 정보를 학습해야 하며, 입력이 입력과 완벽하게 일치하지는 않습니다.

예를 들면 다음과 같습니다.

  • 입력 데이터가 그래픽인 경우 정확히 일치하지 않는 문구는 원본 그래픽과 비슷하지만 약간 수정됩니다. 예를 들어 원본이 아닌 복사본은 원본 그래픽에서 노이즈를 제거하거나 누락된 일부 픽셀을 채울 수 있습니다.
  • 입력 데이터가 텍스트인 경우 오토인코더는 원본 텍스트를 모방하지만 동일하지는 않은 새로운 텍스트를 생성합니다.

변수 자동 인코더도 참고하세요.

자동 회귀 모델

#language
#image
#생성 AI

자체 이전 예측을 기반으로 예측을 추론하는 모델입니다. 예를 들어 자동 회귀 언어 모델은 이전에 예측된 토큰을 기반으로 다음 토큰을 예측합니다. 모든 Transformer 기반 대규모 언어 모델은 자동 회귀 모델입니다.

반면 GAN 기반 이미지 모델은 일반적으로 단일 정방향 전달로 이미지를 생성하며 단계가 반복적으로 발생하지 않으므로 자동 회귀가 아닙니다. 그러나 특정 이미지 생성 모델은 단계에서 이미지를 생성하기 때문에 자동 회귀가 가능합니다.

경계 상자

#image

아래 이미지에서 관심 분야의 영역(예: 아래 이미지의 강아지) 주위에 있는 직사각형의 (x, y) 좌표

소파에 앉아 있는 강아지 사진. 왼쪽 상단 좌표가 (275, 1271)이고 오른쪽 하단 좌표가 (2954, 2761)인 녹색 경계 상자는 반려견의 신체를 둘러싸고 있습니다.

C

컨볼루션

#image

수학에서는 간단히 말해 두 가지 함수가 섞인 것입니다. 머신러닝에서 컨볼루션은 가중치를 학습시키기 위해 컨볼루셔널 필터와 입력 행렬을 혼합합니다.

머신러닝에서 '컨볼루션'이라는 용어는 간단히 컨볼루셔널 연산이나 컨볼루셔널 레이어와 같은 표현입니다.

컨볼루션이 없으면 머신러닝 알고리즘은 대규모 텐서의 모든 셀에 대해 별도의 가중치를 학습해야 합니다. 예를 들어 2,000x2,000 크기의 이미지를 학습하는 머신러닝 알고리즘은 400만 개의 개별 가중치를 찾아야 합니다. 컨볼루션이 있기 때문에 머신러닝 알고리즘은 컨볼루셔널 필터에 있는 모든 셀의 가중치만 찾아도 되고, 이로 인해 모델 학습에 필요한 메모리가 크게 줄어듭니다. 컨볼루셔널 필터가 적용되면 셀 전체에 걸쳐 필터가 복제되므로 컨볼루셔널 필터가 필터를 곱합니다.

컨볼루셔널 필터

#image

컨볼루셔널 연산의 두 행위자 중 하나입니다. (다른 하나는 입력 행렬의 슬라이스입니다.) 컨볼루셔널 필터는 입력 행렬과 순위는 동일하지만 형태는 작은 행렬입니다. 예를 들어 28x28 입력 행렬의 경우 필터는 28x28보다 작은 2차원 행렬일 수 있습니다.

사진 조작에서 컨볼루셔널 필터의 모든 셀은 일반적으로 1과 0으로 구성된 일정한 패턴으로 설정됩니다. 머신러닝에서 컨볼루셔널 필터는 일반적으로 난수로 채워지며 네트워크가 이상적인 값을 학습합니다.

컨볼루셔널 레이어

#image

컨볼루셔널 필터가 입력 행렬을 통과하는 심층신경망의 레이어입니다. 예를 들어 다음과 같은 3x3 컨볼루셔널 필터가 있다고 가정해 보겠습니다.

다음 값을 가진 3x3 행렬: [[0,1,0], [1,0,1], [0,1,0]]

다음 애니메이션은 5x5 입력 행렬이 포함된 컨볼루셔널 연산 9개로 구성된 컨볼루셔널 레이어입니다. 각 컨볼루셔널 연산은 입력 행렬의 서로 다른 3x3 슬라이스에서 작동합니다. 결과인 3x3 행렬 (오른쪽)은 다음과 같은 9가지 컨볼루셔널 연산의 결과로 구성됩니다.

두 행렬을 보여주는 애니메이션 첫 번째 행렬은 5x5 행렬입니다. [[128,97,53,201,198], [35,22,25,200,195],
          [37,24,28,197,182],
          [33,28,92,10,195,179], 175,179]
          두 번째 행렬은 3x3 행렬입니다.
          [[181,303,618], [115,338,605], [169,351,560]].
          두 번째 행렬은 5x5 행렬의
 다양한 3x3 하위 집합에 걸쳐 컨볼루셔널
 필터 [[0, 1, 0], [1, 0, 1], [0, 1, 0]] 을
 적용하여 계산됩니다.

컨볼루셔널 신경망

#image

하나 이상의 레이어가 컨볼루셔널 레이어신경망. 일반적인 컨볼루셔널 신경망은 다음과 같은 레이어의 조합으로 구성됩니다.

컨볼루셔널 신경망은 영상 인식과 같은 특정 종류의 문제에서 큰 성공을 거두었습니다.

컨볼루셔널 연산

#image

다음 2단계 수학 연산:

  1. 컨볼루셔널 필터 및 입력 행렬의 슬라이스 등 요소별 곱셈입니다. (입력 행렬의 슬라이스는 컨볼루셔널 필터와 순위 및 크기가 동일합니다.)
  2. 곱셈의 결과로 얻어지는 행렬 내 모든 값의 합계입니다.

다음과 같은 5x5 입력 행렬을 예로 들어보겠습니다.

5x5 행렬: [[128,97,53,201,198], [35,22,25,200,195],
          [37,24,28,197,182], [33,28,92,195,179], [31,44]

이제 다음과 같은 2x2 컨볼루셔널 필터가 있다고 생각해 보세요.

2x2 행렬: [[1, 0], [0, 1]]

각 컨볼루셔널 연산에는 입력 행렬의 단일 2x2 슬라이스가 포함됩니다. 예를 들어 입력 행렬의 왼쪽 상단에 있는 2x2 슬라이스를 사용해 보겠습니다. 따라서 이 슬라이스의 컨볼루션 연산은 다음과 같습니다.

컨볼루셔널 필터 [[1, 0], [0, 1]] 을 입력 행렬의 왼쪽 상단 2x2 섹션인 [[128,97], [35,22]]에 적용합니다.
          컨볼루셔널 필터는 128과 22를 그대로 유지하지만 97과 35는 0이 됩니다. 따라서 컨볼루션 연산의 값은 150 (128+22)입니다.

컨볼루셔널 레이어는 각각 일련의 입력 행렬에서 작동하는 일련의 컨볼루셔널 연산으로 구성됩니다.

D

데이터 증강

#image

기존 예시를 변환하여 추가 예시를 만들어 학습 예의 범위와 수를 인위적으로 늘립니다. 예를 들어 이미지가 특성 중 하나이지만, 모델에 유용한 연결을 학습하기에 충분한 이미지 예가 데이터 세트에 포함되어 있지 않다고 가정합니다. 이상적으로는 모델이 올바르게 학습할 수 있도록 데이터 세트에 라벨이 지정된 이미지를 충분히 추가하는 것이 좋습니다. 이것이 불가능한 경우 데이터 증강을 통해 각 이미지를 회전하고 확대하고 반사하여 원본 사진의 여러 변형을 생성할 수 있으므로 라벨이 지정된 데이터가 충분히 생성되어 우수한 학습을 지원할 수 있습니다.

깊이 분리 가능한 컨볼루셔널 신경망 (sepCNN)

#image

컨볼루셔널 신경망 아키텍처는 Inception을 기반으로 하지만 Inception 모듈이 깊이 분리 가능한 컨볼루션으로 대체됩니다. Xception이라고도 합니다.

깊이별 분리 가능한 컨볼루션(줄여서 분리 가능)은 표준 3-D 컨볼루션을 2개의 개별 컨볼루션 연산으로 인수 분해합니다. 첫째, 심층 컨볼루션의 연산은 1 연산의 효율성이 더 높습니다. 첫째, 깊이 1(n ✕ n ✕ 1)의 심층 컨볼루션, 두 번째의 경우 방향 컨볼루션 1의 지름 컨볼루션으로 구성됩니다.

자세한 내용은 추출: 깊이 구분이 가능한 컨볼루션을 사용한 딥 러닝을 참고하세요.

다운샘플링

#image

다음 중 하나를 의미할 수 있는 오버로드된 용어입니다.

  • 모델을 더 효율적으로 학습하기 위해 특성에 포함된 정보의 양을 줄입니다. 예를 들어 영상 인식 모델을 학습시키기 전에 고해상도 이미지를 저해상도 형식으로 다운샘플링합니다.
  • 과소 대표 클래스에 대한 모델 학습을 개선하기 위해 과도하게 과대 표현된 클래스 예시를 과도하게 학습합니다. 예를 들어 클래스 불균형 데이터 세트에서 모델은 다수 클래스에 대해 많이 학습하지만 다수 클래스에 대해 충분히 학습하지 않는 경향이 있습니다. 다운샘플링은 대다수 및 소수 클래스의 학습량 간의 균형을 유지하는 데 도움이 됩니다.

F

미세 조정

#language
#image
#생성 AI

선행 학습된 모델에서 수행되는 두 번째 작업별 학습 패스로 특정 사용 사례에 맞게 매개변수를 미세 조정합니다. 예를 들어 일부 대형 언어 모델의 전체 학습 시퀀스는 다음과 같습니다.

  1. 사전 학습: 모든 영어 위키백과 페이지와 같이 방대한 일반 데이터 세트로 대규모 언어 모델을 학습시킵니다.
  2. 세부 조정: 의료 쿼리 응답과 같은 특정 작업을 수행하도록 선행 학습된 모델을 학습시킵니다. 미세 조정에는 일반적으로 특정 태스크에 중점을 둔 수백 또는 수천 개의 예시가 포함됩니다.

또 다른 예로, 대규모 이미지 모델의 전체 학습 시퀀스는 다음과 같습니다.

  1. 사전 학습: Wikimedia Commons의 모든 이미지와 같이 방대한 일반 이미지 데이터 세트로 대규모 이미지 모델을 학습시킵니다.
  2. 미세 조정: 범고래 이미지 생성과 같은 특정 작업을 수행하도록 선행 학습된 모델을 학습시킵니다.

미세 조정에는 다음 전략을 조합하여 사용할 수 있습니다.

  • 선행 학습된 모델의 모든 기존 매개변수 수정 이를 완전 미세 조정이라고도 합니다.
  • 선행 학습된 모델의 기존 매개변수 중 일부(일반적으로 출력 레이어에 가장 가까운 레이어)만 수정하고 다른 기존 매개변수는 변경하지 않습니다 (일반적으로 입력 레이어에 가장 가까운 레이어).
  • 일반적으로 출력 레이어에 가장 가까운 기존 레이어 위에 더 많은 레이어를 추가합니다.

미세 조정은 전이 학습의 한 형태입니다. 따라서 미세 조정은 선행 학습된 모델을 학습시키는 데 사용된 것과 다른 손실 함수 또는 다른 모델 유형을 사용할 수 있습니다. 예를 들어 선행 학습된 대형 이미지 모델을 미세 조정하여 입력 이미지에서 새 수를 반환하는 회귀 모델을 만들 수 있습니다.

다음 용어와 미세 조정 비교 및 대조:

G

생성 AI

#language
#image
#생성 AI

공식 정의가 없는 새로운 변환 분야 대부분의 전문가들은 생성 AI 모델이 다음과 같은 콘텐츠를 생성 ('생성')할 수 있다는 데 동의합니다.

  • 복잡함
  • 일관적
  • 원본

예를 들어 생성 AI 모델은 정교한 에세이 또는 이미지를 만들 수 있습니다.

LSTMRNN을 포함한 일부 초기 기술도 원본 및 일관된 콘텐츠를 생성할 수 있습니다. 일부 전문가들은 이러한 초기 기술을 생성 AI로 여기는 반면, 진정한 생성 AI는 초기 기술이 생성할 수 있는 것보다 더 복잡한 출력이 필요하다고 생각합니다.

예측 ML과 대비되는 개념입니다.

I

영상 인식

#image

이미지의 객체, 패턴 또는 개념을 분류하는 프로세스입니다. 영상 인식을 이미지 분류라고도 합니다.

자세한 내용은 ML 실습: 이미지 분류를 참조하세요.

IoU (Intersection over Union)

#image

두 세트의 교집합을 유니온으로 나눈 값입니다. 머신러닝 이미지 감지 태스크에서 IoU는 지상 실측 경계 상자를 기준으로 모델의 예측 경계 상자의 정확도를 측정하는 데 사용됩니다. 이 경우 두 상자의 IoU는 중첩 영역과 전체 영역 간의 비율이며, 값 범위는 0 (예측 경계 상자와 정답 정보 상자와 겹치지 않음)~1 (예측 경계 상자와 지상 실측 경계 상자)의 좌표가 정확히 동일합니다.

예를 들어 아래 이미지에서

  • 예측된 경계 상자 (모델에서 그림의 야간 테이블이 있는 위치를 예측하는 좌표)는 보라색 윤곽선으로 표시되어 있습니다.
  • 실측 정보 경계 상자 (그림에서 실제로 야간 테이블이 있는 위치를 구분하는 좌표)는 녹색 윤곽선으로 표시되어 있습니다.

'아를스의 빈센트 침실' 그림에 침대 옆에 있는 야간 테이블 주변에 경계 상자 두 개가 그려져 있습니다. 녹색으로 표시된 실측 정보 경계 상자는 야간 테이블을 완벽하게 제한합니다. 예측된 경계 상자 (보라색)는 지상 진실 경계 상자 오른쪽 아래 50% 로 오프셋됩니다. 야간 테이블의 오른쪽 하단 분기를 둘러싼 반면 나머지 테이블은 누락합니다.

여기서 예측과 정답의 경계 상자(왼쪽 아래)의 교차점은 1이고 예측과 정답에 대한 경계 상자의 합치 (오른쪽 아래)는 7이므로 IoU는 \(\frac{1}{7}\)입니다.

위와 동일한 이미지를 각 경계 상자를 4개의 사분면으로 나눕니다. 실측 경계 상자의 오른쪽 하단 사분면과 예측된 경계 상자의 왼쪽 상단 사분면이 서로 겹치므로 총 7사분면이 있습니다. 겹쳐진 섹션 (녹색으로 강조표시됨)은 교집합을 나타내며 면적은 1입니다. 위와 동일한 이미지를 각 경계 상자를 4개의 사분면으로 나눕니다. 실측 경계 상자의 오른쪽 하단 사분면과 예측된 경계 상자의 왼쪽 상단 사분면이 서로 겹치므로 총 7사분면이 있습니다.
          두 경계 상자로 둘러싸인 전체 내부(녹색으로 강조표시됨)는 합집합을 나타내며 면적은 7입니다.

K

주요 사항

#image

이미지 내 특정 지형지물의 좌표입니다. 예를 들어 꽃 종을 구분하는 영상 인식 모델에서 키포인트는 각 꽃잎, 줄기, 받침 등의 가운데일 수 있습니다.

L

landmarks

#image

요점의 동의어입니다.

M

MNIST

#image

LeCun, Cortes, Burges에서 컴파일한 공개 도메인 데이터 세트로,60, 000개의 이미지가 포함되어 있으며 각 이미지는 사람이 0~9 사이의 특정 숫자를 어떻게 직접 작성했는지 보여줍니다. 각 이미지는 28x28 정수 배열로 저장되며 각 정수는 0~255 범위의 그레이 스케일 값입니다.

MNIST는 새로운 머신러닝 접근 방식을 테스트하는 데 사용되는 머신러닝의 표준 데이터 세트입니다. 자세한 내용은 필기 입력 숫자의 MNIST 데이터베이스를 참고하세요.

P

풀링

#image

이전의 컨볼루셔널 레이어로 만든 행렬을 작은 행렬로 줄이는 경우 풀링을 하면 보통 풀링된 영역에서 최댓값이나 평균값을 취하게 됩니다. 예를 들어 다음과 같은 3x3 행렬이 있다고 가정해 보겠습니다.

3x3 행렬 [[5,3,1], [8,2,5], [9,4,3]].

풀링 연산에서는 컨볼루셔널 연산에서와 마찬가지로 행렬을 슬라이스로 나눈 다음 스트라이드로 컨볼루셔널 연산을 슬라이드합니다. 예를 들어 풀링 연산에서 컨볼루셔널 행렬을 1x1 스트라이드로 2x2 슬라이스로 나누었다고 가정해 보겠습니다. 다음 다이어그램과 같이 4개의 풀링 작업이 발생합니다. 각 풀링 연산이 해당 슬라이스의 4개 최댓값을 선택한다고 가정해 보겠습니다.

입력 행렬은 3x3이며 값은 [[5,3,1], [8,2,5], [9,4,3]]입니다.
          입력 행렬의 왼쪽 상단 2x2 하위 행렬은 [[5,3], [8,2]]이므로 왼쪽 상단 풀링 연산에서는 값 8 (최대 5, 3, 8, 2)을 생성합니다. 입력 행렬의 오른쪽 상단 2x2 하위 행렬은 [[3,1], [2,5]]이므로 오른쪽 상단 풀링 연산에서는 값 5가 생성됩니다. 입력 행렬의 왼쪽 하단 2x2 하위 행렬은 [[8,2], [9,4]]이므로 왼쪽 하단 풀링 연산에서는 값이 9가 됩니다. 입력 행렬의 오른쪽 아래 2x2 하위 행렬은 [[2,5], [4,3]]이므로 오른쪽 하단 풀링 연산에서는 값 5가 생성됩니다. 요약하면 풀링 연산에서는 2x2 행렬 [[8,5], [9,5]]가 생성됩니다.

풀링을 사용하면 입력 행렬에서 변환 불변을 적용할 수 있습니다.

공식적으로 비전 애플리케이션 풀링은 공간 풀링으로 더 잘 알려져 있습니다. 시계열 애플리케이션에서는 일반적으로 풀링을 시간적 풀링이라고 부릅니다. 비공식적으로 풀링을 서브샘플링 또는 다운샘플링이라고 부르는 경우도 있습니다.

선행 학습된 모델

#language
#image
#생성 AI

이미 학습된 모델 또는 모델 구성요소 (예: 임베딩 벡터) 경우에 따라 선행 학습된 임베딩 벡터를 신경망에 입력합니다. 모델이 선행 학습된 임베딩에 의존하는 대신 임베딩 벡터 자체를 학습시키는 경우도 있습니다.

선행 학습된 언어 모델이라는 용어는 사전 학습을 거친 대형 언어 모델을 의미합니다.

사전 학습

#language
#image
#생성 AI

대규모 데이터 세트에 대한 모델의 초기 학습 일부 선행 학습된 모델은 형편없는 대규모 모델이며 일반적으로 추가 학습을 통해 조정해야 합니다. 예를 들어 ML 전문가는 Wikipedia의 모든 영어 페이지와 같은 방대한 텍스트 데이터 세트에서 큰 언어 모델을 사전 학습시킬 수 있습니다. 사전 학습 후에 결과 모델은 다음 기법을 통해 더 세분화할 수 있습니다.

오른쪽

회전 불변

#image

이미지 분류 문제에서 알고리즘이 이미지의 방향이 바뀌어도 이미지를 분류해 낼 수 있는 능력을 의미합니다. 예를 들어 위 알고리즘은 테니스 라켓이 위를 향하고 있는지, 옆으로 또는 아래로 내려가는지 식별할 수 있습니다. 회전 불변이 항상 바람직한 것은 아닙니다. 예를 들어 거꾸로 된 9는 9로 분류되어서는 안 됩니다.

변환 불변크기 불변도 참조하세요.

S

크기 불변

#image

이미지 분류 문제에서 알고리즘이 이미지 크기가 변경되더라도 이미지를 성공적으로 분류하는 기능을 제공합니다. 예를 들어 알고리즘은 고양이가 2백만 화소와 20만 화소 중 어떤 것을 소비하는지 여부를 식별할 수 있습니다. 최고의 이미지 분류 알고리즘도 크기 불변에는 실질적인 제한이 있습니다. 예를 들어 알고리즘 (또는 사람)이 20픽셀만 사용하는 고양이 이미지를 올바르게 분류할 가능성은 낮습니다.

변환 불변회전 불변도 참조하세요.

공간 풀링

#image

풀링을 참고하세요.

스트라이드

#image

컨볼루셔널 연산이나 풀링에서 다음 입력 슬라이스의 각 차원의 델타입니다. 예를 들어 다음 애니메이션은 컨볼루셔널 연산 중 (1,1) 스트라이드를 보여줍니다. 따라서 다음 입력 슬라이스는 이전 입력 슬라이스의 오른쪽 한 위치에서 시작합니다. 작업이 오른쪽 가장자리에 도달하면 다음 슬라이스가 왼쪽 맨 아래로 이동하지만 한 위치는 아래로 이동합니다.

입력 5x5 행렬과 3x3 컨볼루셔널 필터입니다. 스트라이드가 (1,1)이므로 컨볼루셔널 필터가 9번 적용됩니다. 첫 번째 컨볼루셔널 슬라이스는 입력 행렬의 왼쪽 상단 3x3 하위 행렬을 평가합니다. 두 번째 슬라이스는 가운데 중간 3x3 하위 행렬을 평가합니다. 세 번째 컨볼루셔널 슬라이스는 오른쪽 상단 3x3 하위 행렬을 평가합니다.  네 번째 슬라이스는 가운데 왼쪽 3x3 하위 행렬을 평가합니다.
     다섯 번째 슬라이스가 중간 3x3 하위 행렬을 평가합니다. 여섯 번째 슬라이스는 오른쪽 중간 3x3 하위 행렬을 평가합니다. 일곱 번째 슬라이스는 왼쪽 하단 3x3 하위 행렬을 평가합니다.  여덟 번째 슬라이스는 하단 중간 3x3 하위 행렬을 평가합니다. 아홉 번째 슬라이스는 오른쪽 하단 3x3 하위 행렬을 평가합니다.

앞의 예는 2차원 스트라이드를 보여줍니다. 입력 행렬이 3차원인 경우 스트라이드도 3차원이 됩니다.

서브샘플링

#image

풀링을 참고하세요.

T

기온

#language
#image
#생성 AI

모델 출력의 임의성을 제어하는 초매개변수 온도가 높을수록 무작위 출력이 많아지고 온도가 낮아지면 무작위 출력도 줄어듭니다.

최적의 온도 선택은 특정 애플리케이션 및 원하는 모델 출력 속성에 따라 달라집니다. 예를 들어 광고 소재 출력을 생성하는 애플리케이션을 만들 때 온도를 높이는 것이 좋습니다. 반대로 이미지 또는 텍스트를 분류하는 모델을 빌드할 때 온도를 낮춰 모델의 정확성과 일관성을 개선할 수 있습니다.

온도는 보통 softmax와 함께 사용됩니다.

병진 불변

#image

이미지 분류 문제에서는 이미지 내 객체의 위치가 변경되더라도 이미지를 올바르게 분류하는 알고리즘의 기능이 됩니다. 예를 들어 강아지가 프레임의 중앙에 있든 왼쪽 끝에 있든 강아지를 식별할 수 있습니다.

크기 불변회전 불변도 참조하세요.