딥 러닝이란 무엇인가요?

딥 러닝이란 무엇인가요?

딥 러닝은 다층 신경망으로 구동되는 머신 러닝의 하위 집합으로, 인간의 뇌 구조에서 영감을 받아 설계되었습니다. 딥 러닝 모델은 컴퓨팅 비전생성형 AI부터 자율 주행 자동차 및 로보틱에 이르기까지 오늘날 대부분의 최첨단 인공 지능(AI)을 지원합니다.

기존 머신 러닝 알고리즘의 명시적으로 정의된 수학적 논리와 달리 딥 러닝 모델의 인공 신경망은 각각 수학적 연산을 수행하는 여러 개의 상호 연결된 '뉴런' 계층으로 구성됩니다. 머신 러닝을 사용하여 인접한 계층에 있는 개별 뉴런 간의 연결 강도, 즉 다양한 모델 가중치편향성을조정함으로써 네트워크를 최적화하여 보다 정확한 아웃풋을 생성할 수 있습니다.신경망과 딥 러닝은 서로 뗄 수 없는 관계가 되었지만, 엄밀히 말해 동의어는 아닙니다. '딥 러닝'은 최소 4개의 계층(최신 신경망 아키텍처는 이보다 훨씬 '심층적'인 경우가 많지만)으로 모델을 훈련하는 것을 말합니다.

딥 러닝의 놀라운 힘과 다양성을 설명하는 것은 이 분산되고 매우 유연하며 조정 가능한 구조입니다. 훈련 데이터를 2차원 그래프에 흩어져 있는 데이터 포인트라고 가정하고, 각 데이터 포인트를 통과하는 선을 찾는 것이 모델 훈련의 목표라고 상상해 보세요. 기본적으로 기존의 머신 러닝은 하나의 선(또는 곡선)을 생성하는 단일 수학 함수를 사용하여 이를 달성하는 것을 목표로 하지만, 딥 러닝은 개별적으로 조정 가능한 임의의 수의 작은 선을 조합하여 원하는 모양을 만들 수 있습니다. 심층 신경망은 보편적인 근사치입니다. 어떤 함수에 대해서도 이를 재현할 수 있는 신경망 배열이 존재한다는 것이 이론적으로 입증되었습니다.1

딥 러닝 모델은 회귀 및 분류 작업을 수행하기 위해 레이블이 지정된 데이터에 대한 지도 학습을 통해 가장 일반적으로 학습됩니다. 하지만 대규모 신경망은 최적의 성능을 달성하기 위해 일반적으로 엄청난 양의 훈련 데이터가 필요하기 때문에 주석이 달린 훈련 예시의 충분히 큰 데이터 세트를 획득하는 데 드는 비용과 노동력이 엄청날 수 있습니다. 이로 인해 레이블이 없는 데이터를 사용하여 지도 학습 작업을 복제하는 기술이 개발되었습니다. 자기 지도 학습이라는 용어는 2010년대 후반에 기존의 비지도 학습과 이러한 방법을 구분하기 위해 Yann LeCun이 만든 용어입니다. 자기 지도 학습은 신경망을 훈련하는 중요한 모드로 떠올랐으며, 특히 생성형 AI를 뒷받침하는 파운데이션 모델을 훈련하는 데 효과적입니다.

신경망(또는 유사한 개념)은 머신 러닝의 초기 역사에서 데이터 과학자들에 의해 도입되었지만, 그 획기적인 발전은 2000년대 후반과 2010년대 초반이 되어서야 시작되었습니다. 머신 러닝의 대부분의 하위 집합에서 딥 러닝 네트워크가 등장할 수 있었던 것은 부분적으로는 방대한 양의 계산 단계를 병렬 처리할 수 있는 고성능 그래픽 처리 장치(GPU)의 발전이 있었기 때문입니다. 딥 러닝은 훈련추론 모두에 엄청난 양의 컴퓨팅 성능이 필요하기 때문에 이러한 하드웨어의 발전은 딥 러닝 모델을 대규모로 구현하는 속도와 실용성을 크게 향상시켰습니다.

딥 러닝의 작동 방식

인공 신경망은 대체로 인간 두뇌의 신경 회로의 작용에서 영감을 받았습니다. 신경 회로의 기능은 신경 세포(뉴런)의 분산된 네트워크를 통한 화학적 및 전기적 신호의 복잡한 전달에 의해 좌우됩니다. 딥 러닝에서 비유되는 '신호'는 인공 '뉴런'(또는 노드)이 각각 수행하는 여러 중첩된 수학 연산의 아웃풋으로, 신경망을 집합적으로 구성합니다.

간단히 말해, 딥 러닝 모델은 입력을 아웃풋에 매핑하는 복잡한 일련의 중첩 방정식으로 이해할 수 있습니다. 특수 머신 러닝 프로세스를 사용하여 해당 네트워크 내에서 개별 방정식의 상대적 영향력을 조정하면 네트워크가 입력을 아웃풋에 매핑하는 방식을 변경할 수 있습니다.

이 프레임워크는 매우 강력하고 다재다능하지만, 해석 가능성을 희생해야 한다는 단점이 있습니다.신경망이 학습한 개별 모델 매개변수의 값이 데이터의 실제 특성을 어떻게 반영하는지에 대한 직관적인 설명은 수학적 설명 외에는 거의 없는 경우가 많습니다. 이러한 이유로 딥 러닝 모델은 특히 수동 기능 엔지니어링을 통해 정보를 얻는 기존 유형의 머신 러닝 모델과 비교할 때 종종 '블랙박스'라고 불립니다.

기존 머신 러닝 기술에 비해 딥 러닝은 학습에 매우 많은 양의 데이터와 계산 리소스가 필요합니다. 정교한 딥 러닝 애플리케이션을 개발하고 구현하는 데 필요한 엔터프라이즈급 하드웨어의 비용과 복잡성을 고려할 때, 클라우드 컴퓨팅 서비스는 딥 러닝 에코시스템에서 점점 더 중요한 부분이 되고 있습니다.

심층 신경망 구조

인공 신경망은 상호 연결된 인공 '뉴런'(또는 노드) 계층으로 구성되며, 각 계층은 자체적인 수학적 연산( '활성화 함수'라고 함)을 수행합니다. 신경망에는 다양한 활성화 함수가 존재하며, 신경망 구조 내에 여러 활성화 함수가 통합되어 있는 경우가 많지만 일반적으로 네트워크의 특정 계층에 있는 모든 뉴런은 동일한 활성화 함수를 수행하도록 설정됩니다. 대부분의 신경망에서 입력 계층의 각 뉴런은 다음 계층의 각 뉴런에 연결되고, 그 뉴런은 다시 그 다음 계층의 뉴런에 연결되는 식으로 연결됩니다.

노드의 활성화 함수의 아웃풋은 다음 계층의 각 노드에 제공되는 입력의 일부를 제공합니다. 결정적으로 각 노드에서 수행되는 활성화 함수는 비선형이므로 신경망이 복잡한 패턴과 종속성을 모델링할 수 있습니다. 심층 신경망을 (매우 복잡한) 선형 회귀 모델과 구별하는 것은 비선형 활성화 함수를 사용하는 것입니다.

전문가 모델의 혼합 또는 컨볼루션 신경망과 같은 일부 특수 신경망 아키텍처는 이러한 배열에 변형, 추가 또는 예외를 수반하지만 모든 신경 네트워크는 이 핵심 구조의 일부 버전을 사용합니다. 특정 계층 수, 각 계층 내의 노드 수, 각 계층의 노드에 대해 선택된 활성화 함수는 학습 전에 수동으로 결정해야 하는 하이퍼파라미터입니다.

입력 계층, 다중 은닉 계층, 아웃풋 계층의 세 가지 은닉 계층이 있는 신경망 다이어그램 3개의 은닉 계층이 있는 표준 피드포워드 신경망입니다.

이러한 무수히 많은 뉴런과 뉴런의 연결에는 각각 고유 가중치가 곱해져 각 연결의 영향력을 증폭(또는 감소)시킵니다. 각 뉴런의 활성화 함수에 제공되는 입력은 이전 계층에 있는 각 뉴런의 아웃풋의 가중치 합으로 이해할 수 있습니다. 일반적으로 각 활성화 함수에는 고유한 편향 항이 추가되는데, 이는 일반 회귀 함수의 편향 항과 유사하게 기능합니다.

학습하는 동안 신경망은 이러한 가중치와 바이어스 조건을 각각 조정하여 더 정확한 아웃풋을 산출하는 방식으로 '학습'합니다. 다음은 모델의 매개변수입니다. 예를 들어 80억 개의 '매개변수'가 있는 대규모 언어 모델(LLM)에 대해 읽을 때, 이 숫자는 모델의 신경망에서 모든 단일 가중 뉴런 간 연결과 뉴런별 편향을 반영합니다.

네트워크의 은닉 계층이라고 하는 중간 계층은 대부분의 학습이 발생하는 곳입니다. 이것은 제한된 볼츠만 머신(RBN) 또는 표준 다층 퍼셉트론(MLP)과 같은 '심층적이지 않은' 신경망과 딥 러닝 모델을 구별하는 여러 개의 은닉 계층을 포함하는 것입니다. 여러 개의 은닉 계층이 있으면 딥 러닝 모델이 데이터의 복잡한 계층적 특징을 학습할 수 있으며, 이전 계층은 더 넓은 패턴을 식별하고 더 깊은 계층은 더 세분화된 패턴을 식별합니다.

네트워크는 추론을 수행하기 위해 순방향 전달을 완료합니다. 입력 계층은 일반적으로 벡터 임베딩 형태의 입력 데이터를 수신하며, 각 입력 뉴런은 입력 벡터의 개별 특징을 처리합니다. 예를 들어, 10x10 픽셀 회색조 이미지로 작동하는 모델에는 일반적으로 입력 계층에 100개의 뉴런이 있으며 각 입력 뉴런은 개별 픽셀에 해당합니다. 따라서 신경망은 일반적으로 입력 벡터를 특정 크기로 고정해야 하지만, 풀링이나 정규화와 같은 전처리 기법을 사용하면 원본 입력 데이터 자체의 크기와 관련하여 어느 정도 유연성을 제공할 수 있습니다.

데이터는 점진적으로 변환되어 최종 계층까지 각 후속 계층의 노드로 전달됩니다. 아웃풋 계층에 있는 뉴런의 활성화 함수는 네트워크의 최종 아웃풋 예측을 계산합니다. 예를 들어, 심층 분류 모델의 각 아웃풋 노드는 기본적으로 숫자 입력을 받아 해당 입력이 잠재적 분류 범주에 속할 확률(0~1)로 스케일링하는 소프트맥스 함수를 수행할 수 있습니다. 그런 다음 모델은 가장 높은 아웃풋을 산출하는 아웃풋 노드에 해당하는 카테고리를 아웃풋합니다.

심층 신경망 훈련

심층 신경망의 이론적 잠재력은 항상 분명했지만, 초기에는 이를 효율적으로 훈련하는 방법이 알려지지 않았습니다. 훈련을 통해 모델 파라미터를 최적화하는 목표는 네트워크의 최종 아웃풋의 오류를 줄이는 것이지만, 신경망의 수천, 아니 수백만, 수십억 개의 상호 연결된 가중치 각각이 전체 오류에 기여하는 방식을 개별적으로 분리하여 계산하는 것은 철저하게 비현실적인 일입니다.

이 장애물은 역전파경사 하강법이라는 두 가지 필수 알고리즘의 도입으로 극복되었습니다.

역전파

역전파는 '오차의 역전파'의 줄임말로, 신경망의 개별 가중치나 편향의 변화가 모델 예측의 정확도에 어떤 영향을 미치는지 계산하는 우아한 방법입니다.

인공 신경망은 본질적으로 일련의 중첩된 수학적 함수이며, 한 계층의 뉴런의 아웃풋은 다음 계층의 뉴런에 대한 입력 역할을 한다는 식입니다. 훈련 중에 이러한 상호 연결된 방정식은 또 다른 함수, 즉 주어진 입력에 대해 원하는 아웃풋(또는 '기준값')과 각 포워드 패스에 대한 신경망의 실제 아웃풋 간의 평균 차이(또는 '손실')를 측정하는 손실 함수에 중첩됩니다.

모델의 초기 하이퍼파라미터가 결정되면 일반적으로 훈련은 모델 파라미터를 무작위로 초기화하는 것으로 시작됩니다. 모델은 훈련 데이터 세트의 예시 배치에 대해 예측을 하고 손실 함수는 각 예측의 오류를 추적합니다. 훈련의 목표는 평균 손실이 허용 가능한 임계값 아래로 감소할 때까지 매개변수를 반복적으로 최적화하는 것입니다.

역전파는 손실 함수의 아웃풋에서 시작하여 입력 계층까지 거슬러 올라가는 네트워크의 단일 종단 간 역방향 전달을 수반합니다. 역전파는 미적분학의 연쇄 규칙을 사용하여 손실 함수의 '경사', 즉 모든 방정식의 각 변수에 대한 손실 함수의 부분 미분 벡터를 계산하여 궁극적으로 손실 함수 계산에 중첩시킵니다. 즉, 개별 뉴런의 활성화 함수의 아웃풋을 늘리거나 줄이는 것이 전체 손실에 어떤 영향을 미치는지, 즉 아웃풋에 곱하는 가중치 (또는 아웃풋에 추가되는 편향 항)를 변경하면 손실이 어떻게 증가하거나 감소하는지 설명하는 것입니다.

경사 하강법

역전파에서 계산된 경사는 경사 하강 알고리즘의 입력으로 사용됩니다.

손실 함수의 경사를 아래로 내림차순으로 이동하면 손실이 감소하여 정확도가 높아집니다. 역전파 중에 계산된 경사에는 모든 모델 매개변수에 대한 손실 함수의 편도함수가 포함되어 있으므로 손실을 줄이기 위해 각 매개변수의 값을 어느 방향으로 '단계화'해야 하는지 알 수 있습니다.

각 단계는 모델 매개변수의 업데이트를 수반하며, 훈련 데이터에서 모델이 '학습'하는 것을 반영합니다. 목표는 최소 경사에 도달할 때까지 가중치를 반복적으로 업데이트하는 것입니다. 경사 하강 알고리즘의 목적은 경사를 가장 효율적으로 '하강'시킬 수 있는 특정 매개변수 조정을 찾는 것입니다.

딥 러닝 모델 구현

모델을 처음부터 학습시키든, 미리 훈련된 모델을 미세 조정하든 딥 러닝 모델을 개발하기 위한 다양한 오픈 소스 프레임워크가 있습니다. 이러한 머신 러닝 라이브러리는 신경망 구축, 훈련 및 평가를 위한 다양한 사전 구성된 모듈과 워크플로우를 제공하여 개발 프로세스를 간소화하고 효율화합니다.

딥 러닝 알고리즘을 다루는 데 가장 인기 있는 오픈 소스 프레임워크로는 PyTorch, TensorFlow, 그리고 (특히 LLM의 경우) Hugging Face Transformers 라이브러리가 있습니다. 이러한 프레임워크로 작업하기 전에 Python을 배우는 것이 좋습니다.

딥 러닝 모델의 유형

고유한 힘과 잠재력에도 불구하고 특정 작업에 대한 적절한 성능은 기존의('바닐라') 심층 신경망에서는 여전히 불가능하거나 비실용적입니다. 최근 수십 년 동안 표준 신경망 아키텍처에 대한 몇 가지 혁신이 이루어졌으며, 각 아키텍처는 특정 작업 및 데이터 유형에 대한 성능 향상을 목표로 했습니다.

특정 유형의 신경망은 여러 유형의 딥 러닝 모델에 적합할 수 있으며, 그 반대의 경우도 마찬가지라는 점에 주목할 필요가 있습니다. 예를 들어 이미지 작업에 사용되는 오토인코더 모델은 컨볼루션 신경망 기반 아키텍처를 활용할 수 있으며, 확산 모델은 CNN 기반 또는 트랜스포머 기반 아키텍처를 활용할 수 있습니다.

컨볼루션 신경망(CNN)

컨볼루션 신경망(CNN)은 '로컬' 패턴 인식(예: 이미지의 인접한 픽셀 간의 관계)에 탁월하기 때문에 객체 감지, 이미지 인식, 이미지 분류이미지 분할과 같은 컴퓨팅 비전 작업과 주로 (배타적이지는 않지만) 연관되어 있습니다.

수백 또는 수천 픽셀의 고해상도 이미지 분류와 같은 특정 작업과 데이터 양식의 경우, 완전히 연결된 표준 계층으로만 구성된 충분한 크기의 신경망은 학습 후 새로운 데이터에 일반화하기에는 너무 많은 매개변수를 가지고 있다는 것이 CNN 개발의 배경이 된 직관입니다. 즉, 진정으로 유용한 실제 패턴을 학습하기보다는 계산적으로 비효율적이고 학습 데이터를 과적합하는 경향이 있습니다.

이론적으로 신경망이 뚜렷한 모양과 기타 의미 있는 특징을 감지할 수 있다면 추가 처리를 위해 원시 이미지에서 해당 특징을 추출하여 계산 능력을 절약할 수 있습니다(그리고 의미 있는 특징이 없는 이미지 영역에 대한 정보를 삭제). 한 가지 방법은 필터를 사용하는 것입니다. 필터는 유용한 피처의 모양에 해당하는 값을 가진 작은 2차원 숫자 배열입니다. 예를 들어 이미지의 픽셀에서 왼쪽 상단 모서리를 스캔하는 필터의 값은 다음과 같습니다.

 [1010101010100000100000100000100000]


이제 입력 이미지에 5x5 필터를 5x5 픽셀 그리드에 곱한다고 상상해 보세요. 수학 용어로 이를 컨볼루션이라고 하는데, 하나의 함수가 다른 함수를 수정(또는 컨볼브)하는 수학적 연산입니다. 픽셀 값이 필터의 값과 유사하면 해당 곱셈의 곱(내적)이 커지고 해당 픽셀이 나타내는 특징이 캡처됩니다. 그렇지 않으면 내적이 작아지고 픽셀이 무시됩니다.

 

컨볼루션 신경망의 컨볼루션 다이어그램 이미지의 픽셀 값(왼쪽)에 컨볼루션 필터(가운데)를 곱하면 원본 픽셀의 저차원 표현(오른쪽)이 생성되어 원본 픽셀이 필터가 표현하는 정보와 어떻게 유사한지를 반영하는 결과물을 얻을 수 있습니다. 이미지의 픽셀 값의 작은 부분(왼쪽)에 컨볼루션 필터(가운데)를 곱하면 원본 픽셀의 저차원 표현(오른쪽)이 생성되어 원본 픽셀이 필터가 표현하는 정보와 어떻게 유사한지를 반영합니다.

CNN은 이러한 필터 역할을 하는 표준 완전 연결 계층보다 훨씬 적은 수의 노드를 포함하는 컨볼루션 계층을 추가합니다. 이미지의 각 개별 픽셀에 해당하는 고유한 노드(고유한 가중치를 가짐)를 요구하는 대신, 컨볼루션 계층의 필터는 전체 이미지를 따라 이동하여 해당 크기의 픽셀 그리드를 한 번에 하나씩 처리합니다. 이는 유용한 정보를 추출할 뿐만 아니라 전체 이미지를 처리하는 데 필요한 고유한 모델 매개변수의 수를 크게 줄입니다.

CNN은 일반적으로 표준 신경망보다 계층 수 측면에서 훨씬 더 '심층적'이지만, 컨볼루션 계층에는 상대적으로 적은 수의 뉴런이 포함되므로 총 매개변수 수 측면에서는 여전히 효율적입니다. 데이터가 CNN을 통과함에 따라 각 컨볼루션 계층은 점점 더 세분화된 특징을 추출하여 "특징 맵"을 구성합니다. 최종 특징 맵은 최종 예측을 수행하는 표준 완전 연결 계층으로 전달됩니다. 훈련 과정에서 모델은 컨볼루션 계층의 가중치를 자연스럽게 학습하여 정확한 최종 예측에 도움이 되는 특징을 포착하는 필터를 생성합니다.

순환 신경망(RNN)

순환 신경망(RNN)은 시계열 예측, 음성 인식 또는 자연어 처리(NLP)와 같은 순차적 데이터와 관련된 작업에 사용됩니다.

기존의 피드포워드 신경망은 단일 입력을 단일 아웃풋에 매핑하는 반면, RNN은 입력 시퀀스의 특정 단계에 대한 아웃풋이 다음 단계의 계산에 대한 입력으로 사용되는 반복 루프에서 작동하여 일련의 입력을 아웃풋에 매핑합니다. 사실상 이것은 은닉 상태라고 하는 과거 입력의 내부 '메모리'를 생성합니다. 각 시간 단계마다 업데이트되는 이 은닉 상태를 통해 RNN은 컨텍스트와 순서에 대한 이해를 유지할 수 있습니다.

단일 '롤업' 계층의 개념은 개념을 이해하는 데 유용하지만, 이러한 반복은 동일한 가중치를 공유하는 일련의 여러 계층을 통과하는 데이터로 이해할 수도 있습니다.

순환 신경망 다이어그램 '롤드' 및 '언롤드' 형태로 표시되는 RNN

이는 특히 훈련과 관련하여 기존 RNN의 몇 가지 근본적인 단점으로 이어집니다. 역전파는 손실 함수의 경사를 계산하여 각 개별 모델 매개변수를 늘리거나 줄이는 방법을 결정한다는 점을 기억하세요. 이러한 각 매개변수 업데이트가 너무 많은 '동일한' 순환 계층에 걸쳐 반복되면 이러한 업데이트는 기하급수적으로 확장됩니다. 매개변수를 확대하면 경사가 폭발할 수 있고 매개변수를 최소화하면 경사가 소실될 수 있습니다. 두 가지 문제 모두 훈련에 불안정성을 초래하거나, 훈련 속도를 늦추거나, 심지어 훈련을 완전히 중단할 수도 있습니다. 따라서 표준 RNN은 비교적 짧은 시퀀스를 처리하는 데 제한됩니다.

장단기 메모리(LSTM) 네트워크나 게이트 반복 유닛(GRU)과 같은 기본 RNN 아키텍처의 다양한 개선 사항은 이러한 문제를 완화하고 장거리 종속성을 모델링하는 모델의 능력을 향상시킵니다.

자동 인코더

오토인코더는 입력 데이터를 압축(또는 인코딩)한 다음 이 압축된 표현을 사용하여 원본 입력을 재구성(디코딩)하도록 설계되었습니다. 훈련에서는 재구성 손실(재구성된 데이터 포인트와 원래 입력 데이터 사이의 차이)을 최소화하도록 최적화되어 있습니다. 이러한 유형의 딥 러닝은 레이블이 없는 비정형 데이터를 사용하지만, 오토인코더는 일반적으로 자기 지도 학습의 전형적인 예로 간주됩니다.

오토인코더 다이어그램

이렇게 하면 모델이 가중치를 학습하여 압축된 표현이 입력 데이터의 특징 중 가장 필수적이고 의미 있는 하위 집합만 유지하게 됩니다. 머신 러닝 용어로 오토인코더는 잠재 공간을 모델링합니다.

오토인코더에는 데이터 압축, 차원 축소, 특징 추출, 손상된 데이터의 노이즈 제거, 사기 탐지와 같은 다양한 사용 사례가 있습니다.

대부분의 경우 디코더 네트워크는 인코더 학습에만 도움이 되며 학습 후에는 폐기됩니다. 생성 모델의 일종인 가변 오토인코더(VAE)에서는 디코더가 유지되고 재구성 전에 인코더가 학습한 잠재 표현에 임의의 노이즈를 추가하여 새로운 데이터 포인트를 생성하는 데 사용됩니다.

트랜스포머 모델

트랜스포머 모델의 출현은 2017년 Google DeepMind의 "Attention is All you need"(PDF)라는 제목의 중요한 논문에서 처음 소개되었으며, 이는 현재의 생성형 AI 시대로 직접 이어진 딥 러닝의 분수령이 되었습니다.

RNN과 마찬가지로 트랜스포머는 본질적으로 순차적 데이터로 작동하도록 설계되었습니다. 트랜스포머 모델의 가장 큰 특징은 입력 시퀀스의 각 부분 간의 관계(또는 종속성)를 식별하는 트랜스포머의 인상적인 능력에서 비롯된 고유한 자기 주의 메커니즘입니다. 더 중요한 것은 이 주의 메커니즘을 통해 트랜스포머가 특정 순간에 가장 관련성이 높은 입력 시퀀스 부분에 선택적으로 집중(또는 '주의')할 수 있다는 점입니다.

주의 메커니즘은 기계 번역에 사용되는 RNN의 컨텍스트에서 처음 도입되었습니다. 하지만 RNN과 달리 트랜스포머는 반복 계층을 사용하지 않으며, 표준 트랜스포머 아키텍처는 관계형 데이터베이스의 논리에서 영감을 얻은 새로운 구조를 활용하여 주의 계층과 표준 피드포워드 계층만 사용합니다.

트랜스포머는 대규모 언어 모델(LLM)과 가장 일반적으로 연관되어 있으며, 텍스트 생성, 챗봇감정 분석과 같은 NLP 사용 사례와도 연관되어 있습니다. 하지만 오디오나 시계열 데이터를 포함한 모든 순차적 데이터 양식을 처리할 수 있는 매우 다재다능한 모델입니다. 이미지 데이터와 같은 데이터 양식도 비전 트랜스포머(ViT)를 통해 처리하여 시퀀스로 표현하는 영리한 해결 방법을 통해 처리할 수 있습니다.

트랜스포머 모델은 딥 러닝의 거의 모든 영역에서 최첨단 결과를 가져왔지만, 모든 사용 사례에 반드시 최적의 선택은 아닙니다. 예를 들어, ViT는 컴퓨팅 비전 작업에 대한 벤치마크에서 최고 성능 등급을 달성했지만, CNN은 훨씬 더 빠르고 계산 효율이 높습니다. 객체 감지나 이미지 분할과 같은 작업의 경우, 트랜스포머와 CNN 중 어떤 것을 선택할지는 주어진 딥 러닝 애플리케이션이 최대 정확도 또는 실시간 피드백 중 어느 쪽을 우선시해야 하는지에 따라 결정되는 경우가 많습니다.

Mamba 모델

2023년에 처음 도입된 Mamba 모델은 순차 데이터를 위한 새로운 딥 러닝 아키텍처입니다. 다양한 상태 공간 모델(SSM)에서 파생된 Mamba는 RNN, CNN 및 트랜스포머 모델과 흥미로운 이론적 연관성을 가지고 있습니다. 가장 중요한 것은 Mamba가 완전히 고유한 메커니즘을 가지고 있음에도 불구하고 공유하기 주어진 순간의 관련성에 따라 과거 정보의 우선순위를 지정(또는 폐기)할 수 있는 기능을 트랜스포머와의 것입니다.

현재까지 LLM 영역에서 트랜스포머와 의미 있는 경쟁을 펼치는 아키텍처는 Mamba가 유일하며, 메모리 사용량이 훨씬 적은 알고리즘 덕분에 비슷한 성능과 훨씬 뛰어난 계산 효율성을 제공합니다.

생성적 적대적 네트워크(GAN)

생성적 대립 신경망(GAN)은 VAE와 마찬가지로 원본 훈련 데이터와 유사한 새로운 데이터를 생성하는 데 사용되는 신경망입니다. GAN은 제로섬 게임에서 적대적으로 훈련된 두 개의 딥 러닝 네트워크를 결합한 공동 아키텍처입니다.

  • 생성기 네트워크는 원본 이미지와 같은 새 데이터 포인트를 생성합니다. 원하는 아웃풋을 생성할 수 있는 모든 생성 아키텍처를 GAN 생성기 네트워크에 사용할 수 있습니다. 그 유일한 특징은 판별자와 상호작용하는 방식이며, 유일한 요구 사항은 알고리즘이 차별화 가능해야 한다는 것입니다(따라서 역전파 및 경사 하강을 통해 최적화할 수 있어야 합니다).

  • 판별기는 학습 데이터 세트의 '진짜' 이미지와 생성기가 출력한 '가짜' 이미지를 모두 제공받아 주어진 이미지가 진짜인지 가짜인지 판단하는 임무를 맡게 됩니다. 생성기와 마찬가지로 판별기는 적합한 아키텍처의 형태를 취할 수 있습니다. 

  • 첫째, 판별자는 가짜 이미지를 올바르게 분류하도록 학습됩니다. 이 시간 동안 발전기의 가중치는 고정됩니다.

  • 다음으로, 판별기의 가중치가 고정되고 판별기의 피드백이 생성기를 학습하는 데 사용됩니다. 생성기의 가중치는 판별자를 속일 가능성이 더 높은 이미지를 생성하도록 최적화되어 있습니다. 

  • 이 과정은 반복됩니다. 판별자는 훈련 데이터에서 '실제' 이미지를 수신하고 생성기에서 '가짜' 이미지를 수신하며, 이제 더 설득력이 높아진 것으로 보입니다. 판별기는 각 이미지가 진짜인지 가짜인지 다시 한 번 예측하고 다시 한 번 업데이트합니다.

  • 다시 한 번, (아마도 속이기 어려운) 판별기의 피드백은 생성기를 추가로 훈련하는 데 사용됩니다.

  • 이 프로세스는 판별자가 더 이상 진짜 샘플과 가짜 샘플을 구별할 수 없을 때까지 반복적으로 계속됩니다.

GAN은 매우 정확한 예시를 생성하는 방법을 학습할 수 있지만, 프로세스의 적대적 특성으로 인해 학습은 본질적으로 까다롭고 불안정합니다.

확산 모델

확산 모델생성형 AI에서 가장 두드러진 신경망 아키텍처 중 하나입니다. 실용적이고 성능이 뛰어나 VAE의 훈련 안정성과 GAN의 아웃풋 충실도를 제공합니다. 이미지 생성에 가장 일반적으로 사용되지만 텍스트, 비디오 및 오디오 데이터를 생성할 수도 있습니다.

오토인코더와 마찬가지로 확산 모델은 기본적으로 이미지를 파괴한 다음 완전히 다른 방식으로 정확하게 재구성하도록 학습됩니다. 훈련 과정에서 확산 모델은 가우시안 노이즈를 사용하여 데이터 포인트를 단계적으로 확산시키는 방법을 배우고, 그 과정을 역으로 수행하여 원래 입력을 재구성합니다. 이를 통해 무작위 노이즈 샘플을 '노이즈 제거'하여 (원래 학습 데이터와 유사한) 새로운 샘플을 생성할 수 있게 됩니다.

잠재 확산 모델은 본질적으로 VAE와 확산 모델의 하이브리드로, 먼저 입력 데이터를 잠재 공간으로 압축(인코딩)한 다음 확산 프로세스를 수행한 다음 결과를 원하는 이미지 크기로 업샘플링하는 디코더에 공급합니다.

확산 모델은 일반적으로 CNN 기반 아키텍처를 사용하지만, 특히 의료 영상에서 세분화에 많이 사용되는 U-net 아키텍처는 트랜스포머 기반 아키텍처를 활용하기도 합니다.

그래프 신경망

그래프 신경망(GNN)은 대부분의 데이터 양식에서 일반적으로 사용되는 것보다 서로 다른 개체 간의 더 복잡한 관계를 모델링해야 하는 작업을 위해 설계되었습니다.

이미지의 픽셀이 2차원 격자로 배열되어 있는 이미지 데이터를 생각해 보세요. 하나의 픽셀은 최대 8개의 인접 픽셀에 직접 연결되어 있습니다. 표준 CNN은 이러한 관계를 모델링하는 데 적합합니다. 그러나 이러한 기능은 특정 사용자가 수천 명의 다른 사용자와 간접적으로 연결될 수 있는 소셜 미디어 네트워크 내의 관계를 모델링하는 데에는 적합하지 않습니다.

그래프 신경망의 구조는 다른 신경망 아키텍처에 내재된 데이터의 단방향 흐름에서 가능한 것보다 더 복잡하고 불규칙한 데이터 표현을 허용합니다.

Mixture of Experts | 12월 12일, 에피소드 85

AI 디코딩: 주간 뉴스 요약

세계적인 수준의 엔지니어, 연구원, 제품 리더 등으로 구성된 패널과 함께 불필요한 AI 잡음을 차단하고 실질적인 AI 최신 소식과 인사이트를 확인해 보세요.

관련 솔루션
IBM watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai에 대해 알아보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
AI 컨설팅 및 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약하기
각주

1 Leshno, M., Lin, V.Y., Pinkus, A. and Schocken, S. "Multilayer feedforward networks with a nonpolynomial activation function can approximate any function"(PDF). 뉴욕대학교, 1992년 3월.