본문 바로가기

최신 AI 정보와 트렌드

딥러닝이란? 작동 원리와 학습 모델 유형

딥러닝은 심층 신경망이라고 하는 다층 신경망을 사용하여 인간 두뇌의 복잡한 의사 결정 능력을 시뮬레이션하는 머신러닝의 하위 집합입니다. 어떤 형태의 딥 러닝은 오늘날 우리 생활에 사용되는 대부분의 인공지능(AI) 애플리케이션의 원동력이 됩니다.

딥 러닝과 머신 러닝의 가장 큰 차이점은 기본 신경망 아키텍처의 구조입니다. “비심층”, 즉 기존의 머신 러닝 모델은 한두 개의 계산 계층으로 구성된 단순한 신경망을 사용합니다. 딥러닝 모델은 3개 이상의 레이어를 사용하지만, 일반적으로 수백 또는 수천 개의 레이어를 사용하여 모델을 학습시킵니다.

지도 학습 모델은 정확한 출력을 내기 위해 구조화되고 레이블이 지정된 입력 데이터가 필요하지만, 딥러닝 모델은 비지도 학습을 사용할 수 있습니다. 비지도 학습을 통해 딥러닝 모델은 구조화되지 않은 원시 데이터에서 정확한 결과를 도출하는 데 필요한 특성, 특징, 관계를 추출할 수 있습니다. 또한 이러한 모델은 정밀도를 높이기 위해 결과물을 평가하고 개선할 수도 있습니다.

딥러닝은 사람의 개입 없이 분석 및 물리적 작업을 수행하여 자동화를 개선하는 많은 애플리케이션과 서비스를 구동하는 데이터 과학의 한 측면입니다. 이를 통해 디지털 비서, 음성 지원 TV 리모컨, 신용카드 사기 탐지, 자율 주행 자동차, 제너레이티브 AI 등 다양한 일상 제품과 서비스를 구현할 수 있습니다.

딥러닝의 작동 원리

인공 신경망 또는 신경망은 실리콘 뉴런 역할을 하는 데이터 입력, 가중치, 편향의 조합을 통해 인간의 뇌를 모방하려고 시도합니다. 이러한 요소들이 함께 작동하여 데이터 내의 객체를 정확하게 인식, 분류 및 설명합니다.

심층 신경망은 여러 계층의 상호 연결된 노드로 구성되며, 각 노드는 이전 계층을 기반으로 예측 또는 분류를 개선하고 최적화합니다. 네트워크를 통한 이러한 계산의 진행을 순방향 전파라고 합니다. 심층 신경망의 입력 및 출력 레이어를 가시 레이어라고 합니다. 입력 레이어는 딥러닝 모델이 처리할 데이터를 수집하는 곳이며, 출력 레이어는 최종 예측 또는 분류가 이루어지는 곳입니다.

역전파라고 하는 또 다른 프로세스는 경사 하강과 같은 알고리즘을 사용하여 예측의 오류를 계산한 다음 레이어를 거꾸로 이동하여 함수의 가중치와 편향을 조정하여 모델을 학습시킵니다. 순방향 전파 및 역전파를 통해 신경망은 예측을 수행하고 오류를 수정할 수 있습니다. 시간이 지남에 따라 알고리즘은 점차 더 정확해집니다.

딥러닝 모델의 유형

딥러닝 알고리즘은 매우 복잡하며, 특정 문제나 데이터 집합을 처리하기 위한 다양한 유형의 신경망이 있습니다. 다음은 여섯 가지입니다. 각 모델에는 고유한 장점이 있으며, 여기에서는 대략적인 개발 순서대로 소개하며, 각 후속 모델은 이전 모델의 약점을 극복하기 위해 조정됩니다.

딥러닝 모델의 잠재적 약점 중 하나는 딥러닝 모델이 '블랙박스'인 경우가 많아 내부 작동을 이해하기 어렵고 해석하기 어렵다는 점입니다. 하지만 이는 높은 정확도와 확장성이라는 전반적인 이점과 균형을 이룰 수 있습니다.

CNN

컨볼루션 신경망(CNN 또는 ConvNet)은 주로 컴퓨터 비전 및 이미지 분류 애플리케이션에 사용됩니다. 이미지와 동영상 내에서 특징과 패턴을 감지하여 물체 감지, 이미지 인식, 패턴 인식, 얼굴 인식과 같은 작업을 수행할 수 있습니다. 이러한 네트워크는 선형 대수학, 특히 행렬 곱셈의 원리를 활용하여 이미지 내의 패턴을 식별합니다.

CNN은 특정 유형의 신경망으로, 입력 레이어, 하나 이상의 숨겨진 레이어, 출력 레이어를 포함하는 노드 레이어로 구성됩니다. 각 노드는 서로 연결되며 관련 가중치와 임계값이 있습니다. 개별 노드의 출력이 지정된 임계값을 초과하면 해당 노드가 활성화되어 네트워크의 다음 계층으로 데이터를 전송합니다. 그렇지 않으면 네트워크의 다음 계층으로 데이터가 전달되지 않습니다.

CNN을 구성하는 레이어는 컨볼루션 레이어, 풀링 레이어, 완전 연결(FC) 레이어 등 최소 세 가지 주요 유형이 있습니다. 복잡한 용도의 경우 CNN에는 최대 수천 개의 레이어가 포함될 수 있으며, 각 레이어는 이전 레이어를 기반으로 구축됩니다. '컨볼루션' 작업과 재작업을 통해 원본 입력의 세부 패턴을 발견할 수 있습니다. 각 레이어가 추가될 때마다 CNN의 복잡성이 증가하여 이미지의 더 많은 부분을 식별할 수 있습니다. 초기 레이어는 색상과 가장자리와 같은 단순한 특징에 초점을 맞춥니다. 이미지 데이터가 CNN의 레이어를 거치면서 더 큰 요소나 물체의 모양을 인식하기 시작하고 마침내 의도한 물체를 식별할 수 있게 됩니다.

CNN은 이미지, 음성 또는 오디오 신호 입력에 대한 뛰어난 성능으로 다른 신경망과 구별됩니다. CNN 이전에는 이미지에서 객체를 식별하기 위해 수동적이고 시간이 많이 소요되는 특징 추출 방법을 사용했습니다. 하지만 이제 CNN은 이미지 분류 및 객체 인식 작업에 보다 확장 가능한 접근 방식을 제공하며 고차원 데이터를 처리할 수 있습니다. 또한 CNN은 레이어 간에 데이터를 교환하여 보다 효율적인 데이터 처리를 제공할 수 있습니다. 풀링 계층에서 정보가 손실될 수 있지만, 이는 복잡성을 줄이고 효율성을 개선하며 과적합의 위험을 제한하는 데 도움이 되는 CNN의 이점을 상쇄할 수 있습니다.

CNN에는 많은 그래픽 처리 장치(GPU)를 필요로 하는 계산에 많은 시간과 예산이 소요된다는 단점도 있습니다. 또한 여러 분야에 대한 지식을 갖춘 고도로 훈련된 전문가가 필요하며 구성, 하이퍼파라미터 및 설정에 대한 신중한 테스트가 필요합니다.

RNN

순환 신경망(RNN)은 일반적으로 순차적 또는 시계열 데이터를 사용하기 때문에 자연어 및 음성 인식 애플리케이션에 사용됩니다. RNN은 피드백 루프로 식별할 수 있습니다. 이러한 학습 알고리즘은 주로 시계열 데이터를 사용하여 미래 결과를 예측할 때 사용됩니다. 사용 사례로는 주식 시장 예측이나 매출 예측, 또는 언어 번역, 자연어 처리(NLP), 음성 인식, 이미지 캡션과 같은 서수 또는 시간적 문제 등이 있습니다. 이러한 기능은 Siri, 음성 검색, Google 번역과 같은 인기 있는 애플리케이션에 통합되어 있는 경우가 많습니다.

RNN은 이전 입력에서 정보를 가져와 현재 입력과 출력에 영향을 줄 때 '메모리'를 사용합니다. 기존의 심층 신경망은 입력과 출력이 서로 독립적이라고 가정하지만, RNN의 출력은 시퀀스 내의 이전 요소에 따라 달라집니다. 미래의 이벤트도 주어진 시퀀스의 출력을 결정하는 데 도움이 될 수 있지만, 단방향 순환 신경망은 이러한 이벤트를 예측에 고려할 수 없습니다.

RNN은 네트워크의 각 계층에서 매개변수를 공유하고 네트워크의 각 계층 내에서 동일한 가중치를 공유하며, 강화 학습을 용이하게 하기 위해 역전파 및 경사 하강 과정을 통해 가중치를 조정합니다.

RNN은 시간을 통한 역전파(BPTT) 알고리즘을 사용해 기울기를 결정하는데, 이 알고리즘은 시퀀스 데이터에만 적용되므로 기존의 역전파와는 약간 다릅니다. BPTT의 원리는 출력 레이어에서 입력 레이어로의 오류를 계산하여 모델이 스스로 학습하는 기존 역전파와 동일합니다. BPTT는 각 시간 단계에서 오류를 합산하는 반면, 피드포워드 네트워크는 각 계층에서 파라미터를 공유하지 않기 때문에 오류를 합산할 필요가 없다는 점에서 기존 접근 방식과 다릅니다.

다른 신경망 유형에 비해 RNN의 장점은 이진 데이터 처리와 메모리를 모두 사용한다는 점입니다. RNN은 여러 입력과 산출을 계획할 수 있으므로 단일 입력에 대해 하나의 결과만 제공하는 것이 아니라 일대다, 다대일 또는 다대다 출력을 생성할 수 있습니다.

RNN 내부에는 옵션도 있습니다. 예를 들어, 장단기 기억(LSTM) 네트워크는 장기 종속성을 학습하고 이에 따라 행동함으로써 단순한 RNN보다 우수합니다.

그러나 RNN은 폭발하는 기울기와 사라지는 기울기라는 두 가지 기본 문제에 직면하는 경향이 있습니다. 이러한 문제는 오차 곡선을 따라 손실 함수의 기울기인 그라데이션의 크기에 의해 정의됩니다.

  • 그라데이션이 소실되고 너무 작으면 계속 작아져서 가중치 파라미터가 중요하지 않게 될 때까지, 즉 0이 될 때까지 업데이트됩니다. 이 경우 알고리즘은 더 이상 학습하지 않습니다.
  • 그라데이션이 너무 크면 폭발적인 그라데이션이 발생하여 불안정한 모델이 만들어집니다. 이 경우 모델 가중치가 너무 커져 결국 숫자가 아닌 NaN으로 표현됩니다. 이러한 문제에 대한 한 가지 해결책은 신경망 내의 숨겨진 레이어 수를 줄여 RNN 모델의 복잡성을 일부 제거하는 것입니다.

마지막으로 몇 가지 단점이 있습니다: RNN은 훈련 시간이 오래 걸리고 대규모 데이터 세트에 사용하기 어려울 수 있습니다. 레이어와 파라미터가 많은 경우 RNN을 최적화하면 복잡성이 증가합니다.

자동 인코더 및 변형 자동 인코더

딥러닝은 숫자 데이터 분석을 넘어 이미지, 음성 및 기타 복잡한 데이터 유형에 대한 분석을 추가할 수 있게 했습니다. 이를 달성한 최초의 모델 중에는 변형 자동 인코더(VAE)가 있습니다. 사실적인 이미지와 음성을 생성하는 데 널리 사용된 최초의 딥러닝 모델로서, 모델을 쉽게 확장할 수 있게 함으로써 심층 생성 모델링을 강화했으며, 이는 우리가 생각하는 생성형 AI의 초석이 되었습니다.

자동 인코더는 레이블이 없는 데이터를 압축된 표현으로 인코딩한 다음 데이터를 원래 형태로 다시 디코딩하는 방식으로 작동합니다. 일반 자동 인코더는 손상되거나 흐릿한 이미지를 재구성하는 등 다양한 용도로 사용되었습니다. 변형 자동 인코더는 데이터를 재구성할 뿐만 아니라 원본 데이터의 변형을 출력할 수 있는 중요한 기능을 추가했습니다.

새로운 데이터를 생성하는 이 기능은 더욱 사실적이면서도 가짜 이미지를 생성할 수 있는 생성적 적대적 네트워크(GAN)부터 확산 모델에 이르기까지 새로운 기술의 연쇄적인 발전을 촉발시켰습니다. 이러한 방식으로 VAE는 오늘날의 생성적 AI를 위한 발판을 마련했습니다.

자동 인코더는 인코더와 디코더 블록으로 구축되며, 이는 오늘날의 대규모 언어 모델을 뒷받침하는 아키텍처이기도 합니다. 인코더는 데이터 집합을 밀도 높은 표현으로 압축하여 추상적인 공간에서 유사한 데이터 포인트를 서로 가깝게 배열합니다. 디코더는 이 공간에서 샘플링하여 데이터 세트의 가장 중요한 특징을 보존하면서 새로운 것을 생성합니다.

자동 인코더의 가장 큰 장점은 대량의 데이터를 처리하고 입력 데이터를 압축된 형태로 표시할 수 있기 때문에 이상 징후 탐지 및 분류 작업이 가능하다는 점입니다. 또한 전송 속도가 빨라지고 스토리지 요구 사항이 줄어듭니다. 자동 인코더는 레이블이 없는 데이터에 대해 학습할 수 있으므로 레이블이 있는 데이터를 사용할 수 없는 곳에서 사용할 수 있습니다. 비지도 학습을 사용하면 딥러닝 알고리즘이 자동으로 학습하여 수동 피처 엔지니어링 없이도 정확도를 높일 수 있으므로 시간을 절약할 수 있는 이점이 있습니다. 또한 VAE는 텍스트 또는 이미지 생성을 위한 새로운 샘플 데이터를 생성할 수 있습니다.

자동 인코더에는 단점도 있습니다. 깊거나 복잡한 구조의 훈련은 컴퓨팅 리소스를 많이 소모할 수 있습니다. 또한 비지도 학습 중에 모델이 필요한 속성을 간과하고 입력 데이터를 단순히 복제할 수도 있습니다. 또한 자동 인코더는 구조화된 데이터의 복잡한 데이터 연결을 간과하여 복잡한 관계를 올바르게 식별하지 못할 수도 있습니다.

GAN

생성적 적대 신경망(GAN)은 인공지능(AI) 안팎에서 원래의 학습 데이터와 유사한 새로운 데이터를 생성하는 데 사용되는 신경망입니다. 여기에는 사람의 얼굴처럼 보이지만 실제 사람을 촬영한 것이 아니라 생성된 이미지가 포함될 수 있습니다. 이름에서 '적대적'이라는 부분은 GAN의 두 부분, 즉 생성자와 판별자 사이에서 왔다 갔다 하는 데서 유래했습니다.

  • 제너레이터는 이미지, 비디오 또는 오디오와 같은 무언가를 생성한 다음 변형된 결과물을 만들어냅니다. 예를 들어 말을 얼룩말로 어느 정도 정확하게 변형할 수 있습니다. 결과는 입력과 이 사용 사례에 대한 생성 모델에서 레이어가 얼마나 잘 훈련되었는지에 따라 달라집니다.
  • 판별자는 생성 결과(가짜 이미지)를 데이터 세트의 실제 이미지와 비교하는 적대자입니다. 판별자는 실제 이미지와 가짜 이미지, 비디오 또는 오디오를 구별하려고 시도합니다.

GAN은 스스로 훈련합니다. 생성자가 가짜를 생성하는 동안 판별자는 생성자의 가짜 사례와 실제 사례의 차이점을 파악하는 방법을 학습합니다. 판별자가 가짜를 식별할 수 있으면 생성자에게 불이익이 주어집니다. 이 피드백 루프는 제너레이터가 판별자가 구별할 수 없는 출력을 생성하는 데 성공할 때까지 계속됩니다.

GAN의 가장 큰 장점은 원본과 구별하기 어려운 사실적인 결과물을 생성하여 머신 러닝 모델을 추가로 학습하는 데 사용할 수 있다는 것입니다. 라벨링되지 않은 데이터를 사용하거나 약간의 라벨링을 통해 학습하기 때문에 GAN을 학습하도록 설정하는 것은 간단합니다. 그러나 잠재적인 단점은 생성기와 판별기가 오랜 시간 동안 경쟁을 거듭하여 시스템 소모가 클 수 있다는 것입니다. 한 가지 훈련의 한계는 만족스러운 결과를 얻기 위해 엄청난 양의 입력 데이터가 필요할 수 있다는 것입니다. 또 다른 잠재적 문제는 제너레이터가 더 넓은 범위의 출력이 아닌 제한된 출력 세트를 생성하는 '모드 붕괴'입니다.

확산 모델

확산 모델은 점진적인 노이즈 추가 및 노이즈 제거의 순방향 및 역방향 확산 프로세스를 사용하여 학습되는 생성 모델입니다. 확산 모델은 대부분 학습 데이터와 유사한 이미지로 데이터를 생성한 다음 학습에 사용된 데이터를 덮어씁니다. 훈련 데이터에 가우스 노이즈를 인식할 수 없을 때까지 점차적으로 추가한 다음, 무작위 노이즈 입력에서 출력(일반적으로 이미지)을 합성할 수 있는 역 ‘노이즈 제거’ 프로세스를 학습합니다.

확산 모델은 생성된 샘플과 원하는 대상의 차이를 최소화하는 방법을 학습합니다. 모든 불일치는 정량화되고 모델의 파라미터가 업데이트되어 실제 훈련 데이터와 가장 유사한 샘플을 생성하도록 모델을 훈련하는 손실을 최소화합니다.

확산 모델은 이미지 품질 외에도 적대적 훈련이 필요하지 않아 학습 프로세스가 빨라지고 프로세스를 면밀하게 제어할 수 있다는 장점이 있습니다. GAN보다 훈련이 더 안정적이며 확산 모델은 모드 붕괴가 잘 일어나지 않습니다.

그러나 GAN에 비해 확산 모델은 더 많은 미세 조정을 포함하여 훈련하는 데 더 많은 컴퓨팅 리소스가 필요할 수 있습니다. 또한 IBM Research®는 이러한 형태의 생성형 AI가 숨겨진 백도어를 통해 공격자가 이미지 생성 프로세스를 제어하여 AI 확산 모델을 속여 조작된 이미지를 생성할 수 있다는 사실을 발견했습니다.

트랜스포머 모델

트랜스포머 모델은 인코더-디코더 아키텍처와 텍스트 처리 메커니즘을 결합하여 언어 모델을 학습하는 방식을 혁신적으로 개선했습니다. 인코더는 주석이 없는 원시 텍스트를 임베딩이라고 하는 표현으로 변환하고, 디코더는 이러한 임베딩을 모델의 이전 출력과 함께 가져와 문장의 각 단어를 연속적으로 예측합니다.

빈칸 채우기 추측을 사용하여 인코더는 단어와 문장이 서로 어떻게 연관되어 있는지 학습하여 품사 및 기타 문법적 특징에 레이블을 지정하지 않고도 강력한 언어 표현을 구축합니다. 사실 트랜스포머는 처음부터 특정 작업을 염두에 두지 않고도 사전 학습할 수 있습니다. 이렇게 강력한 표현을 학습한 후에는 나중에 훨씬 적은 데이터로 모델을 전문화하여 요청된 작업을 수행할 수 있습니다.

몇 가지 혁신이 이를 가능하게 합니다. 트랜스포머는 문장의 단어를 동시에 처리하여 텍스트 처리를 병렬로 처리할 수 있으므로 학습 속도가 빨라집니다. 순환 신경망(RNN)을 포함한 이전 기술은 단어를 하나씩 처리했습니다. 트랜스포머는 단어의 위치와 단어 간의 관계도 학습하여 의미를 유추하고 긴 문장에서 '그것'과 같은 단어를 모호하게 구분할 수 있습니다.

작업을 미리 정의할 필요가 없어짐에 따라 트랜스포머는 방대한 양의 원시 텍스트에 대해 언어 모델을 사전 학습할 수 있게 되어 그 규모를 획기적으로 늘릴 수 있게 되었습니다. 이전에는 특정 작업에 대해 하나의 모델을 학습시키기 위해 레이블이 지정된 데이터를 수집했습니다. 트랜스포머를 사용하면 방대한 양의 데이터로 학습된 하나의 모델을 소량의 레이블이 지정된 작업별 데이터로 미세 조정하여 여러 작업에 적용할 수 있습니다.

오늘날 언어 변환기는 분류 및 개체 추출과 같은 비생성 작업은 물론 기계 번역, 요약 및 질문 답변과 같은 생성 작업에도 사용됩니다. 트랜스포머는 설득력 있는 대화, 에세이 및 기타 콘텐츠를 생성하는 능력으로 많은 사람들을 놀라게 했습니다.

자연어 처리(NLP) 트랜스포머는 병렬로 실행되어 시퀀스의 여러 부분을 동시에 처리할 수 있어 학습 속도를 크게 높일 수 있기 때문에 놀라운 성능을 제공합니다. 또한 트랜스포머는 텍스트의 장기적인 종속성을 추적하여 전체적인 맥락을 더 명확하게 이해하고 우수한 결과물을 생성할 수 있습니다. 또한 트랜스포머는 작업별로 맞춤화할 수 있도록 확장성과 유연성이 뛰어납니다.

트랜스포머의 한계는 복잡성 때문에 막대한 연산 자원과 긴 학습 시간이 필요하다는 점입니다. 또한 정확한 결과를 도출하기 위해서는 훈련 데이터가 정확하고 편향되지 않으며 풍부해야 합니다.